(16)约束
主键约束
主键是一个表中能标识唯一行的标志(可以是一行,也可以是多行)
单个字段主键
alter table 表名 add constraints 主键约束名称 primary key(字段名)
alter table student add constraints pk_student primary key(id)
多个字段组合主键
alter table student add constraints pk_student primary key(class,name)
****一个表只能有一个主键
删除主键约束
alter table student drop constraint pk_student
外键约束
保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。 使两张表形成关联,外键只能引用外表中的列的值或使用空值
一个表里的某个字段在另个表中做主键
alter table student add constraint fk_student foreign key(name) references score(name) on delete cascade
学生是主表,分数是子表。
on delete cascade:设置级联删除,当主键的字段被删除时,外键对应的字段也被同时删除
** 插入数据时,先插入子表name,再插入主表name。
**如果写了 on delete cascade 那么删除子表的行时对应会删除主表的行
删除外键
同删除主键........略
非空约束
alter table student modify 表名 not null
alter table student modify name not null
改回可以为空
alter table student modify name null
唯一约束
alter table student add constraint unq_student unique (name)
删除唯一约束....同上
主键约束和唯一约束的区别
一张表里只能有一个主键约束,可以有多个唯一约束。
主键不能为空,而唯一可以为空
检查约束
暂时略
删除检查约束
同上