完整性的分类:
1.实体完整性:行
2.域完整性:列
3.引用完整性:表和表有相关联的数据
实体完整性约束
实体:表中的一行(entity)
约束类型分为三种,分别为主键约束(primary key),唯一约束(unique),自动增长列(auto_increment)
主键约束(primary key)
每个表中都要有一个主键。
特点:数据唯一且不能为空值
创建主键的两种方式:
1.`create table if not exists student1(
id char(12) primay key,
);`
此时’id’成为了一个主键,当id重复时会提示
2.create table if not exists student1( id char(12) not null, name char(8) not null, primay key(id,name) );
此时’id’与’name’构成了联合主键,两个列拼在一起做判断。只有两个列值都不相同时才会插入失败。
唯一约束(unique)
特点:数据不重复,可以为空值
自动增长列(auto_increment)
自动增长列不能单独使用,需要和主键配合使用。
给主键添加自动增长的数值,列只能是数值类型。
默认值约束
create table if not exists stu(
id int default 1);
insert into stu(id) values(default);