数据库约束的作用
对表中的数据进行进一步的限制,保证数据的正确性、有效性和完整性。
约束种类
-
PRIMARY KEY
: 主键约束
主键的作用
通过主键可以唯一的确定一条记录。
主键的特点
非空,唯一。
-
UNIQUE
: 唯一约束
唯一约束的作用
使该字段的值不重复。
唯一约束的特点
字段值不重复。
-
NOT NULL
: 非空约束
非空约束的作用
该字段的值不能为空。
非空约束的特点
字段的值不能为空。
-
DEFAULT
: 默认值约束
默认值约束的作用
如果不指定该字段的值就用默认值。
默认值约束的特点
指定默认值。
-
FOREIGN KEY
: 外键约束
什么是外键约束
一张表的某个字段,引用另一张表的主键
主表: 主键所在的表,约束别人的表,将数据给别人用 副表/从表: 外键所在的表,被约束的表,使用别人的数据
创建外键
CREATE TABLE 表名 (
字段名 字段类型,
字段名 字段类型,
CONSTRAINT [外键名] FOREIGN KEY(外键的字段名) REFERENCE 主表(主键)
);
已有表添加外键约束:ALTER TABLE 从表 ADD [CONSTRAINT] [外键约束名称] FOREIGN KEY (外键字段名) REFERENCES 主表(主键字段名)
外键的联级
当引用外键约束的时候,如果从表有使用主表的数据(如id),主表的id不能直接进行删除或者修改的操作,需要先把从表的引用的数据更新或者删除后
才能操作。
CREATE TABLE employee ( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(30), age INT, dep_id INT, -- 添加外键约束,并且添加级联更新和级联删除 CONSTRAINT employee_dep_fk FOREIGN KEY (dep_id) REFERENCES department(id) ON UPDATE CASCADE ON DELETE CASCADE );