Oracle数据库添加约束
2024-10-09 16:13:13
主键约束(两个特性)
1:主键必须写
2:主键不可重复
create table stu01(
sid varchar(100),
sname varchar2(100)
--constraint PK_stu01_sid primary key (sid)
) --添加约束(主键)
alter table stu01 add constraint PK_stu01_sid primary key(sid) ---添加主键约束
alter table stu01 drop constraint PK_stu01_sid ---删除主键约束
唯一约束(UNIQUE)
唯一,但是可以为空
create table stu02(
sid varchar2(100),
sname varchar2(100),
constraint PK_stu02_sid primary key(sid),
constraint UK_stu02_sname unique(sname)
)
非空约束(not null)
一般简写
create table stu03(
sid varchar2(100),
sname varchar2(100) not null,
constraint PK_stu03_sid primary key(sid),
constraint UK_stu03_sname unique(sname)
)
外键约束
先添加学生表、和课程表
create table stu04(
sid varchar2(100),
sname varchar2(100) not null,
constraint PK_stu04_sid primary key(sid),
constraint UK_stu04_sname unique(sname)
) --创建课程表
create table course01(
cid varchar2(100),
cname varchar2(100) not null,
constraint PK_course01_cid primary key(cid),
constraint UK_course01_cname unique(cname)
) --最后添加成绩表,外键约束课程表和学生表
create table mark02(
sid varchar2(100),
cid varchar2(100),
mark number,
constraint PK_mark02_sidAndcid primary key(sid,cid),
constraint FK_mark02_sid foreign key(sid) references stu04(sid),
constraint FK_mark02_cid foreign key(cid) references course01(cid),
constraint UK_mark02_mark unique(mark)
) --删除外键约束
alter table mark01 drop constraint FK_mark02_sid
alter table mark01 drop constraint FK_mark02_cid
最新文章
- Mac下设置Android源代码编译环境
- 介绍一个可以将Expression表达式树解析成Transact-SQL的项目Expression2Sql
- struts(三) ---OGNL的学习和理解
- javascript错误处理与调试(转)
- Redis中的批量删除数据库中的Key
- AutoEventWireup解释
- 【转】android 自定义控件
- DedeCMS 5.7 config.php 跨站脚本漏洞
- c#中使用SESSION需要注意的几个问题
- CDZSC_2015寒假新人(1)——基础 g
- Swift - 多线程实现方式(1) - NSThread
- 面向亿万级用户的QQ一般做什么?——兴趣部落的Web同构直出分享
- vue学习之ajax 简单快速使用axios
- Python解析XML文件
- Centos7安装net Core
- leetcode网学习笔记(1)
- 干掉win10自带的不给力的应用(转自https://jingyan.baidu.com/article/08b6a591b7398514a8092238.html)
- iOS CALayer 绘图模糊有锯齿的解决方案
- 20155331 Exp3 免杀原理与实践
- 解决“tar:Exiting with failure status due to previous errors”【转】
热门文章
- Qt之先用了再说系列-多线程方式2
- Vue 给子组件绑定v-model
- Python多进程队列间传递对象
- 调试备忘录-NTC电阻的使用(教程 + 代码)
- 第四周:卷积神经网络 part 3
- AMD 5700 XT显卡装ubuntu18.04.* 驱动的问题解决(全)
- 免费验证码接收网站&;不停开小号方法
- openstack nova 创建虚机流程
- Federated Learning: Challenges, Methods, and Future Directions
- Java数据结构——2-3树