-- 创建表时添加约束
CREATE TABLE employees (
id INT AUTO_INCREMENT PRIMARY KEY, -- 主键约束,确保id字段的唯一性和非空性
first_name VARCHAR(50) NOT NULL, -- 非空约束,确保first_name字段不能为空
last_name VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE, -- 唯一约束,确保email字段的值是唯一的
birth_date DATE CHECK (birth_date <= CURDATE()), -- 检查约束,确保birth_date不能晚于当前日期
department_id INT,
FOREIGN KEY (department_id) REFERENCES departments(id) -- 外键约束,确保department_id必须存在于departments表中
);
-- 添加约束到已存在的表
ALTER TABLE employees
ADD CONSTRAINT chk_birth_date CHECK (birth_date <= CURDATE()); -- 添加检查约束
ALTER TABLE employees
ADD UNIQUE (email); -- 添加唯一约束
ALTER TABLE employees
ADD FOREIGN KEY (department_id) REFERENCES departments(id); -- 添加外键约束
-- 删除约束
ALTER TABLE employees
DROP INDEX email; -- 删除唯一约束
ALTER TABLE employees
DROP FOREIGN KEY fk_department; -- 删除外键约束(需要指定外键名称)
ALTER TABLE employees
DROP CHECK chk_birth_date; -- 删除检查约束
PRIMARY KEY):确保字段的值是唯一的,并且不允许为空。NOT NULL):确保字段不能为空。UNIQUE):确保字段的值是唯一的。CHECK):确保字段的值满足某些条件。FOREIGN KEY):确保字段的值在另一个表中存在。这些约束可以帮助你维护数据的完整性和一致性。
上一篇:mysql将一列数据拼接在一起
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站