一、什么是约束
约束是作用于在中列上的规则,用于限制加入表的数据
二、约束的作用
保证了数据库中数据的正确性、有效性和完整性
三、约束的分类
- 非空约束: 关键字是 NOT NULL
- 唯一约束:关键字是 UNIQUE
- 主键约束: 关键字是 PRIMARY KEY
- 检查约束: 关键字是 CHECK(MySQL不支持检查约束)
- 默认约束: 关键字是 DEFAULT
- 外键约束: 关键字是 FOREIGN KEY
下面详细介绍
1.非空约束(NOT NULL)
非空约束用于保证列中所有数据不能有NULL值
-- 创建表时添加非空约束(例如创建用户表,用户名不能为空)
CREATE TABLE 表名(
列名 数据类型 NOT NULL,
);
2.唯一约束(UNIQUE)
唯一约束用于保证列中所有数据各不相同
-- 创建表时添加唯一约束(创建用户表,账户名唯一)
CREATE TABLE 表名(
列名 数据类型 UNIQUE
);
3.主键约束(PRIMARY KEY)
主键是一行数据的唯一标识,要求非空且唯一,一张表只能有一个主键
-- 创建表时添加主键约束
CREATE TABLE 表名(
列名 数据类型 PRIMARY KEY
)
4.默认约束(DEFAULT)
保存数据时,未指定值则采用默认值
-- 创建表时添加默认约束
CREATE TABLE 表名(
列名 数据类型 DEFAULT 默认值,
);
5.外键约束(FOREIGN KEY)
外键用来让两个表的数据之间建立链接,保证数据的一致性和完整性。
-- 创建表时添加外键约束
CREATE TABLE 表名(
列名 数据类型,
...
[CONSTRAINT] [外键名称] FOREIGN KEY(外键列名) REFERENCES 主表(主表列名)
);