1、约束分类
限制表的行或者列的数据,以此保证表的数据的完整性、唯一性
约束的类别:
约束类型 | 主键 | 默认值 | 唯一 | 外键 | 非空 |
关键字 | primary key | default | unique | foreign kry | not null |
1.1、主键
主键(primary key)作为数据表中一行的唯一标识符,在一张表中通过主键就能定位到某一行数据,主键不能重复且不能为空
创建的时候定义主键,create table 表名(字段 类型 primary key);
1.2、默认值
当有default约束的列,插入的数据为空是,将使用默认值填充
数据表department的people_name插入的是11
在第二次插入的数据为空时,以默认值10填充
1.3、唯一值约束
唯一值约束就是,一张表中指定的一列的值必须不能重复,插入的数据和已有的数据重复时,会报错
1.4、外键约束
外键能确保数据完整性,也能表现表与表之间的关系
一个表可以有多个外键,每个外键必须参考(refernces)另一个表的主键,被外键约束的列,取值必须在它参考的列中有对应值
若杯外键约束的值没有在参考列中有对应,插入的时候会报错
1.5、非空约束
非空的列,在插入值是必须非空
#INSERT 成功 age 为空,因为没有非空约束,表中显示 NULL
INSERT INTO employee(id,name,salary,phone,in_dpt)
VALUES(03,'Jim',3400,119119,'dpt2');
#报错 salary 被非空约束,插入数据失败
INSERT INTO employee(id,name,age,phone,in_dpt)
VALUES(04,'Bob',23,123456,'dpt1');