1 约束
1.1 约束的基本介绍
- 一种限制,用于限制表中的数据,为了保证表中的准确和可靠性。
1.2 约束的分类
- NOT NULL:非空约束。
- DEFAULT:默认约束,用于保证该字段有默认值。
- PRIMARY KEY:主键约束,用于保证该字段具有唯一性,并且非空。
- UNIQUE:唯一约束,用于保证该字段具有唯一性,可以为空。
- CHECK:检查约束,MySQL不支持。
- FOREIGN KEY:外键约束,用于限制两个表的关系,用于保证该表的字段的值必须来自于主表的关联列的值。
1.3 添加约束的时机
1.4 列级约束和表级约束
create table 表名(
列名 字段类型 列级约束,
……,
表级约束
)
- 列级约束:除了外键约束,都支持。
- 表级约束:除了非空和默认,都支持。
1.5 约束的应用
-- 添加列级约束
CREATE TABLE stu_info (
# 主键
id INT PRIMARY KEY auto_increment,
#学生姓名
stu_name VARCHAR (20) NOT NULL,
#性别
gender CHAR (1) DEFAULT ‘男‘,
#座位号
seat INT UNIQUE,
#年龄
age INT DEFAULT 18
);
CREATE TABLE major (
id INT PRIMARY KEY auto_increment,
major_name VARCHAR (20)
);
-- 添加表级约束
CREATE TABLE stu_info (
# 主键
id INT PRIMARY KEY auto_increment,
#学生姓名
stu_name VARCHAR (20) NOT NULL,
#性别
gender CHAR (1) DEFAULT ‘男‘,
#座位号
seat INT UNIQUE,
#年龄
age INT DEFAULT 18,
#外键
marjor_id INT,
CONSTRAINT fk_marjor_id FOREIGN KEY (marjor_id) REFERENCES major(id)
);