SQL 约束


约束是对表的数据列强制执行的规则。这些用于限制可以进入表的数据类型。这保证了数据库中数据的准确性和可靠性。

约束可以在列级别或表级别。列级约束仅应用于一列,而表级约束应用于整个表。

以下是 SQL 中可用的一些最常用的约束。这些约束已经在 SQL - RDBMS 概念 章,但在这一点上修改它们是值得的。

  • 非空约束 : 确保一列不能有 NULL 值。

  • 默认约束 : 当没有指定时,为列提供默认值。

  • 唯一约束 : 确保一列中的所有值都不同。

  • 主键 : 唯一标识数据库表中的每一行/记录。

  • 外键 : 唯一标识任何给定数据库表中的行/记录。

  • 检查约束 : CHECK 约束保证一列中的所有值都满足一定的条件。

  • 索引: 用于非常快速地从数据库中创建和检索数据。

可以在使用 CREATE TABLE 语句创建表时指定约束,或者即使在创建表之后也可以使用 ALTER TABLE 语句创建约束。

删除约束


可以使用带有 DROP CONSTRAINT 选项的 ALTER TABLE 命令删除你定义的任何约束。

例如,要删除 EMPLOYEES 表中的主键约束,可以使用以下命令。

ALTER TABLE EMPLOYEES DROP CONSTRAINT EMPLOYEES_PK;

某些实现可能提供用于删除某些约束的快捷方式。例如,要删除 Oracle 中某个表的主键约束,可以使用以下命令。

ALTER TABLE EMPLOYEES DROP PRIMARY KEY;

某些实现允许你禁用约束。你可能希望暂时禁用约束,然后再启用它,而不是从数据库中永久删除约束。

完整性约束


完整性约束用于确保关系数据库中数据的准确性和一致性。数据完整性是通过参照完整性的概念在关系数据库中处理的。

有许多类型的完整性约束在参照完整性 (RI).这些约束包括主键、外键、唯一约束和上面提到的其他约束。