(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)

删除唯一约束....同上

 

 

主键约束和唯一约束的区别

一张表里只能有一个主键约束,可以有多个唯一约束。

主键不能为空,而唯一可以为空

 

检查约束

暂时略

 

删除检查约束

同上

posted @ 2016-11-26 21:37  富坚老贼  阅读(166)  评论(0编辑  收藏  举报