约束的概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。
约束的作用:用于保证数据库中数据的正确性、完整性和一致性。
约束分类:
约束类型 | 作用 | 关键字 |
非空约束 | 限制该字段的数据不能为null | not null |
唯一约束 | 保证该字段所有数据都是唯一的、不重复的 | unique |
主键约束 | 主键是一行数据的唯一标识,要求非空且唯一 | primary key |
外键约束 | 建立两张表之间的连接,保证数据一致性和完整性 | foreign key |
默认约束 | 保存数据时时,如果没有指定字段值,会使用默认值 | default |
检查约束(MySQL8.0.16 引入) | 保证字段值满足一个条件 | check |
添加约束:约束是作用于表中字段上的,可以在创建表/修改表的时候添加约束。
-- 创建user表时添加约束
create table user(
id int auto_increment primary key comment '用户id(唯一,自增长)',
name varchar(10) not null unique comment '名字(唯一、不为空)' ,
age int check(age>=0 && age <=130) comment '年龄(范围0-130)',
status char(1) default '1' comment '状态(默认为1)',
gender char(1) comment '性别'
);