数据库中的约束条件
分别有:
①非空约束
②唯一约束
③主键约束
④外键约束
⑤检查约束
⑥默认值约束
非空约束:(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 (约束名)