Bootstrap

数据库的约束条件(Oracle)

数据库中的约束条件

分别有:
①非空约束
②唯一约束
③主键约束
④外键约束
⑤检查约束
⑥默认值约束

非空约束:(not null)

限定某一列的值不能为空。
方法:
1、直接在建表语句中插入:
例如:student_id number primary key
2、修改字段的方式:
例如:alter table [表名] modify ([列名] not null)

唯一约束: (unique)

限定某一列的值不能出现重复的数据,null值除外
方法:
1、直接建表时插入:
例如:id_card varchar(20) unique
2、修改字段的方式:
例如:alter table [表名] modify ([列名] unique)
3、修改表的方式:
例如:alter table [表名] add constraint (约束名) unique (列名)

主键约束:(primary key)pk

限定某一列数据不能为空,而且要唯一
方法:
1、直接建表时插入:(只适用于只有一个列做主键的情况)
例如:id_card varchar(20) primary key
2、修改字段的方式:
例如:alter table [表名] add constraint (约束名) primary key (列名,列名,……)

外键约束:(foreign key)fk

表A中的字段J里的值引用了表B中的K列的值(K列具有唯一性),则称表A中的字段J为外键。
【注】:要求表A中J列的值必须要在引用的表B中K列的值里出现
方法:
1、修改字段的方式:
例如:alter table [表A名] add constraint (约束名) foreign key (J的列名) references [表B名] (K的列名)

【注意】:有外键约束的时候删除父项记录时设置的方式有如下三种:
1.不作任何处理:如果在删除父项记录的时候找到子项记录则报错删除不了
2.cascade级联删除: 删除父项记录的时候会将关联的子项记录一起删除
3.set null: 在删除父项记录的时候将关联的子项的值设置为null

检查约束:(check)

限定某一列值的取值范围
方式:
1、建表时添加
2、修改字段的方式:
例如:alter table [表名] add constraint (约束名) check (取值范围)

默认值约束:(default)

如果某一列在添加数据时没有赋值,系统将会自动使用给定的默认值
【前提是设置了默认值】
方法:
1、建表时直接添加;
2、修改字段的方式添加:
例如:alter table [] modify (列名 default ‘默认值’)

约束禁用和启用

禁用:(disable)

alter table [表名] disable constraint (约束名)

启用:(enable)

alter table [表名] enable constraint (约束名)

删除约束条件:

alter table [表名] drop constraint (约束名)

;