SQL(四)—— 五大约束
1、非空约束:是否允许为空值 not null(不能为空) 例: create table student(sno varchar(12) not null
sname varchar(20));
2、主键约束:每一个记录中的主键值是唯一并且不能为空,每一个表有且只能有一个表 使用primary key
代码添加:(1)直接在列后面添加 例:create table student(sno varchar(12) primary key,
sname varchar(20));
(2)在最后添加 例:create table student(sno varchar(12) ,
sname varchar(20),
primary key(sno));
手动添加:首先用鼠标选择需要设置主键的列
然后点击像钥匙一样的符号的图标就完成了主键的添加了
3、默认约束:设置默认值 default(默认值) 例:create table student(sno varchar(12) not null
sname varchar(20),
ssex char(4) default('男'));
4、检查约束:设置数据的条件 check(条件) 例:create table student(sco varchar(20),
sage int check(sage>15));
5、外键约束:设置数据引用自其他表的数据 一个表中可以有多个外键
设置步骤:1、明确主表和子表。当前表(外键所在表)为子表,其他表为主表
2、子表中的外键必须是引用主键或唯一键(主表中)
3、设置外键(注意:外键和主键的列名以及数据类型必须相同)
方法:1、手动设置:首先选中要设置为外键的列然后右击"关系"。再点击
2、代码设置:(1)foreign key(列名) references 主表(主键/唯一键) 例:create table studnet (sno varchar(12) ,cno int ,
foreign key(cno) references course(cno));
(2)foreign key references 主表(主键/唯一键) 例:create table student(sno varchar(12) ,
cno int foreign key references course(cno));
注意:代码设置外键的代码写在主表或者子表里都是没有关系的,手动设置也是一样的
主键和唯一键的区别:
主键:primary key 不能重复,不能为空值,一个表中只能有且只有一个
唯一键:unique 不能重复,只允许包含一个空值,在一个表中可以包含多个唯一键
主键和外键的关系:
先有主表中的数据,后有字表中的数据,外键中的数据是引用自主表中的主键
可以修改外键中的数据,但是修改后的值必须引用自主表中已存在的数据
主键可以部分修改或删除数据,该数据只能是没有被子表所引用的数据