一.概述
1.概念:约束是作用域表中字段上的规则,用于限制存储在表中的数据。
2.目的:保证数据库中数据的正确、有效和完整。
3.分类:
约束 | 描述 | 关键字 |
非空约束 | 限制该字段的数据不能为null | not null |
唯一约束 | 保证该字段的所有数据都是唯一、不重复的 | unique |
主键约束 | 主键是一行数据的唯一标识,要求非空且唯一 | primary key |
默认约束 | 保存数据时,如果未指定该字段的值,则采用默认值 | default |
检查约束 | 保证字段值满足某一条件 | check |
外键约束 | 用来让两张表的数据之间建立连接,保证数据的一致性和完整性 | foreign key |
注意:约束是作用于表中字段上的,可以在创建表/修改表的时候添加约束。
二.约束演示
字段名 | 字段含义 | 字段类型 | 约束条件 | 约束关键字 |
d | ID唯一标识 | int | 主键,并且自动增长 | primary key,auto_increment |
name | 姓名 | varchar(10) | 不为空,并且唯一 | not null,unique |
age | 年龄 | int | 大于0,并且小于等于120 | check |
status | 状态 | char(1) | 如果没有指定该值,默认为1 | default |
gender | 性别 | char(1) | 无 |
create table user(
id int primary key auto_increment comment '主键',
name varchar(10) not null unique comment '姓名',
age int check ( age>0 and age<=10 ) comment '年龄',
status char(1) default 1 comment '状态',
gender char(1) comment '性别'
)comment '用户表';