oracle数据库创建约束

常见约束有:

Not Null 非空约束
Unique 唯一性约束(不重复)
Primary Key 主键约束(非空,不重复)
Foreign Key 外键约束(必须使用引用表存在的值)
Check  检查数据类型约束
ref  高级约束,这里不讲

Not Null 非空约束

alter table STUDENT modify name not null;
alter table STUDENT modify name null;  -- 这个删除约束和其他的有点不一样

unique约束

alter table STUDENT add CONSTRAINT uk_name UNIQUE(name);
alter table STUDENT disable CONSTRAINT uk_name; -- disable
alter table STUDENT enable CONSTRAINT uk_name; -- enable
alter table STUDENT drop CONSTRAINT uk_name ;

Primary Key 主键约束(非空,不重复)

alter table STUDENT ADD CONSTRAINT pk_id primary key(ID);
alter table STUDENT drop primary key;  -- 注:删除主键后面不用跟主键名,因为操作是先drop主键,再重新添加主键,多字段主键同样是这样的操作
alter table STUDENT ADD CONSTRAINT pk_id primary key(ID,NAME); -- 联合主键

Foreign Key 外键约束(必须使用引用表存在的值)

alter table STUDENT add CONSTRAINT fk_class_id foreign key(class_id) references CLASS(ID);
alter table STUDENT disable CONSTRAINT fk_class_id ; -- disable
alter table STUDENT enable CONSTRAINT fk_class_id ;  -- enable
alter table STUDENT drop CONSTRAINT fk_class_id ;

Check 检查数据类型约束 (check 后面按照该字段where条件即可 )

ALTER TABLE student ADD CONSTRAINT check_no check (no between  1 and 100);
ALTER TABLE student ADD CONSTRAINT check_no check (no > 1 and no < 100);
ALTER TABLE student ADD CONSTRAINT check_no check (no in (4,5,6));
ALTER TABLE student drop CONSTRAINT check_no;  -- 删除
unique,primary key ,check  语法类似。
foreign key 多了个references 
not null 是用modify来修饰的

add的时候不需要constraint,但是删除的时候需要,因为drop不只可以删除constraint,还可以删除列等,如drop column。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值