一、概述
概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。
目的:保证数据库中数据的正确、有效性和完整性。
分类:
注意:约束是作用于表中字段上的,可以在创建表/修改表的时候添加约束。
二、约束演示
CREATE TABLE tb_user ( id int AUTO_INCREMENT PRIMARY KEY COMMENT 'ID唯一标识', name varchar(10) NOT NULL UNIQUE COMMENT '姓名', age int check (age > 0 && age <= 120) COMMENT '年龄', status char(1) default '1' COMMENT '状态', gender char(1) COMMENT '性别' );
三、外键约束
1. 介绍
外键:用来让两张表的数据之间建立连接,从而保证数据的一致性和完整性。
2. 语法
2.1 添加外键
ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段名) REFERENCES 主表 (主表列名) ;
案例:为emp表的dept_id字段添加外键约束,关联dept表的主键id。
alter table emp add constraint fk_emp_dept_id foreign key (dept_id) references dept(id);
2.2 删除外键
ALTER TABLE 表名 DROP FOREIGN KEY 外键名称;
案例:删除emp表的外键fk_emp_dept_id。
alter table emp drop foreign key fk_emp_dept_id;
3. 删除/更新行为
ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段) REFERENCES 主表名 (主表字段名) ON UPDATE CASCADE ON DELETE CASCADE;