- 列约束
- 主键约束
声明了主键约束的列不允许出现重复的值,一个表中只能有一个主键约束,通常加载编号列,可以加快数据的查找速度
null:表示空,代表一个暂时无法确定的值,例如:无法确定一个员工手机号码,邮箱... null是一个关键字,在使用这个值的时候不能加引号 |
主键约束的列上不允许插入null
varchar类型的字段设置not null后,不能存入null 但是可以存储一个"" 空字符串
- 非空约束 ------ not null
声明了非空约束的列不允许插入null
- 默认值约束 ---- default
如果插入数据,不提供的值会使用默认值
使用default设置默认值
- 唯一约束 ---- unique
声明了唯一约束的列上不允许出现重复的值
一个表中可以有多个唯一约束,允许插入null(允许为空),甚至多个null
- 检查约束 --- check
也称为自定义约束,用户可以自己制定约束条件
create table student(
score tinyint check(score>=0 and score<=10)
);
mysql不支持检查约束,后期由js代替
- 外键约束 --- foreign key
声明了外键约束的列上插入值必须是在另一个表的主键列上出现过,目的是为了确保两个表之间建立关联,两者列类型需要一致。允许插入null
外键约束和另一 |