目录
本文语法请参考主页数据完整性篇
一、非空约束
-- 创建表时添加非空约束(确保当前约束的属性不为空值)
create table n(
s_id char(20) not null
);
-- 创建表时添加唯一约束unique
create table g(
s_name char(20) unique
);
create table g(
s_name char(20),
unique(s_name)
);
二、唯一约束
-- 创建表时添加复合唯一约束unique(为两个或两个以上的属性添加一个唯一约束,使它们的取值不能同时重复,可以有部分重复)
create table staff(
staff_id int,
staff_name varchar(20),
staff_age int,
unique(staff_id,staff_name)
);
三、主键约束
-- 创建表时添加主键约束primary key(主键约束就是非空约束加为唯一约束,只能用于约束主键,使主键既不能为空又是唯一的,如果数据表中没有主键,那么第一个非空且唯一的的属性
-- 会自动成为主键
create table staff(
staff_id int primary key,
staff_name char(20)
);
四、自增列
-- 创建表时添加自增列(自增列就是在插入数据时,如果不规定属性的值,其值就会根据上一个属性的值自动加一,给一个属性添加自增列的时候,需要这个属性
-- 已经有唯一的性质的约束,一般只为主键约束添加自增,所以要先给一个属性主键约束,在为他添加自增列)
create table h(
h_id int primary key auto_increment
);
desc h;
五、默认约束
-- 创建表时添加默认值约束default(插入数据时如果不给定属性的值,那么带有默认值约束的属性会自动使用给定的默认值)
create table l(
h_id int default "3"
);
desc l;
六、检查约束
-- 创建表时添加检查约束check:(检查约束就是检查列中属性的取值范围,判断字段的值是否为指定的值,如果不是就不允许数据的插入或修改)
create table o(
s_id int check(s_id >"1" and s_id<"2")
);
desc o;
insert into o(s_id) value("6");
七、外键约束
-- 创建表时添加外键约束(外键约束是指一个表中的属性值参考另一个表中的主属性值,也就是外键值参考主属性值,由于外键约束是表级约束,所以在创建参考表之前要先创建被参考表
-- 参考表的外键和被参考表的主键创建约束)
constraint for_sdid foreign key(staff_did) references department_tb(d_id) -- 外键约束
-- for_sdid :我们创建的外键名
-- foreign key (staff_did) : 参考表的外键
-- references 参考
-- constraint: 约束