SQL 向已有数据的表格中添加 CHECK 约束

您所在的位置:网站首页 sql出生日期约束不得大于 SQL 向已有数据的表格中添加 CHECK 约束

SQL 向已有数据的表格中添加 CHECK 约束

2024-07-12 08:12| 来源: 网络整理| 查看: 265

SQL 向已有数据的表格中添加 CHECK 约束

在本文中,我们将介绍如何向已有数据的表格中添加 CHECK 约束。

阅读更多:SQL 教程

什么是 CHECK 约束?

在 SQL 中,CHECK 约束是一种用于限制列值的条件。它可以确保只有满足某些条件的数据才能插入到表中。通过添加 CHECK 约束,我们可以在已有数据的表格中增加数据完整性。

添加 CHECK 约束的语法

下面是向已有数据的表格中添加 CHECK 约束的语法:

ALTER TABLE 表名 ADD CONSTRAINT 约束名 CHECK (条件);

其中,表名 是要添加约束的表格名字,约束名 是给约束起的名称,条件 是指定要求的条件。

例如,假设我们有一个名为 Employees 的表格,其中有一个 age 列,我们想要添加一个 CHECK 约束,限制 age 列的值必须大于等于 18。我们可以使用以下 SQL 语句来实现:

ALTER TABLE Employees ADD CONSTRAINT chk_age CHECK (age >= 18); 示例说明

为了更好地理解向已有数据的表格中添加 CHECK 约束的过程,我们将以一个示例说明。

假设我们有一个名为 Students 的表格,它包含以下几列:ID、姓名、性别 和 年龄。现在我们的要求是,只能向 Students 表格中插入年龄大于等于 18 岁的学生记录。

首先,让我们创建这个表格,并插入一些初始数据:

CREATE TABLE Students ( ID INT PRIMARY KEY, 姓名 VARCHAR(50), 性别 VARCHAR(10), 年龄 INT ); INSERT INTO Students (ID, 姓名, 性别, 年龄) VALUES (1, '张三', '男', 20); INSERT INTO Students (ID, 姓名, 性别, 年龄) VALUES (2, '李四', '女', 17); INSERT INTO Students (ID, 姓名, 性别, 年龄) VALUES (3, '王五', '男', 22); INSERT INTO Students (ID, 姓名, 性别, 年龄) VALUES (4, '赵六', '女', 16); INSERT INTO Students (ID, 姓名, 性别, 年龄) VALUES (5, '田七', '男', 19);

现在,我们需要添加一个 CHECK 约束,确保只有年龄大于等于 18 的记录才能被插入到 Students 表格中。

使用以下 SQL 语句添加 CHECK 约束:

ALTER TABLE Students ADD CONSTRAINT chk_age CHECK (年龄 >= 18);

现在,如果我们尝试插入不符合条件的数据,例如年龄为 16 的学生记录,将会得到一个错误提示。只有符合条件的数据才会被允许插入。

INSERT INTO Students (ID, 姓名, 性别, 年龄) VALUES (6, '刘八', '男', 16); -- 错误: CHECK 约束 "chk_age" 违反了约束条件 总结

通过本文,我们学习了如何向已有数据的表格中添加 CHECK 约束。CHECK 约束可以帮助我们确保数据的完整性,限制只有满足特定条件的数据才能被插入到表格中。通过 ALTER TABLE 语句,我们可以向表格中添加 CHECK 约束,并使用 CONSTRAINT 子句为约束命名。当插入不符合条件的数据时,将会得到一个错误提示。

添加 CHECK 约束是 SQL 中一个重要的数据完整性控制手段,可以有效避免不符合要求的数据被插入。学会使用 CHECK 约束将对数据库的管理和数据质量控制非常有帮助。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3