📅  最后修改于: 2023-12-03 14:47:40.634000             🧑  作者: Mango
在 SQL 中,检查约束是用于限制表中数据的一种约束。
检查约束可以用于确保表中的数据满足特定的条件,例如,限制年龄必须大于等于18岁。
创建检查约束的语法如下:
CREATE TABLE table_name (
column1 datatype constraint,
column2 datatype constraint,
column3 datatype constraint,
....
);
其中,constraint
是指检查约束,可以是以下任何一个语句:
CHECK
:检查一个条件是否被满足DEFAULT
:指定默认值UNIQUE
:确保所有的值都是唯一的PRIMARY KEY
:指定列为主键FOREIGN KEY
:用于关联两个表NOT NULL
:确保列中都包含值,不能为空以下示例演示如何为表 employees
添加检查约束,限制年龄必须大于等于18岁:
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT CHECK (age >= 18),
salary INT
);
如果您需要修改现有的检查约束,您可以使用以下语法:
ALTER TABLE table_name
ADD CONSTRAINT constraint_name constraint;
例如,如果您想修改名为 chk_age
的检查约束,使其限制年龄必须在18到70岁之间,可以按照以下方式修改:
ALTER TABLE employees
DROP CONSTRAINT chk_age;
ALTER TABLE employees
ADD CONSTRAINT chk_age CHECK (age >= 18 AND age <= 70);
此代码将首先删除名为 chk_age
的检查约束,然后添加一个新的约束以满足新的条件。
如果您需要删除现有的检查约束,您可以使用以下语法:
ALTER TABLE table_name
DROP CONSTRAINT constraint_name;
例如,如果您想删除名为 chk_age
的检查约束,可以按照以下方式删除:
ALTER TABLE employees
DROP CONSTRAINT chk_age;
此代码将从 employees
表中删除名为 chk_age
的检查约束。
检查约束是 SQL 中非常有用的一种约束,它可以确保表中的数据满足特定的条件。通过使用检查约束,您可以轻松确保数据库中的数据始终保持一致和完整。