📜  sql中的检查约束(1)

📅  最后修改于: 2023-12-03 14:47:40.634000             🧑  作者: Mango

SQL中的检查约束

在 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 中非常有用的一种约束,它可以确保表中的数据满足特定的条件。通过使用检查约束,您可以轻松确保数据库中的数据始终保持一致和完整。