MySQL 约束
NOT NULL 非空约束
UNIQUE 唯一约束
PRIMARY KEY 主键约束
CHECK 检查约束 MySQL 没有检查约束
DEFAULT 默认约束
FOREIGN KEY 外键约束
AUTO_INCREMENT 自增长,数字类型,唯一约束
约束示例
-- 员工表
CREATE TABLE emp (
id INT PRIMARY KEY, -- 员工id, 主键且自增
ename VARCHAR(50) NOT NULL UNIQUE, -- 员工姓名,非空且唯一
bonus DOUBLE(7, 2) DEFAULT 0 -- 奖金, 默认0
);
外键约束
两个表之间建立链接,保证数据的一致性和完整性
CREATE TABLE emp (
dep_id int,
CONSTRAINT fk_emp_dept FOREIGN KEY(dep_id) REFERENCES dept(id)
);
-- 删除外键
ALTER TABLE emp drop FOREIGN KEY fk_emp_dept;
-- 添加外键
ALTER TABLE emp add CONSTAINT fk_emp_dept FOREIGN KEY(dep_id) REFERENCES dept(id);