SQL - 约束

  • 简述

    约束是对表的数据列实施的规则。这些用于限制可以进入表的数据类型。这保证了数据库中数据的准确性和可靠性。
    约束可以在列级别或表级别。列级约束仅应用于一列,而表级约束应用于整个表。
    以下是 SQL 中一些最常用的约束。这些约束已经在 SQL - RDBMS 概念一章中讨论过,但此时值得修改它们。
    • NOT NULL 约束 - 确保列不能有 NULL 值。
    • DEFAULT 约束 - 未指定时为列提供默认值。
    • UNIQUE 约束 - 确保列中的所有值都不同。
    • PRIMARY Key - 唯一标识数据库表中的每一行/记录。
    • FOREIGN Key - 唯一标识任何给定数据库表中的行/记录。
    • CHECK 约束 - CHECK 约束确保列中的所有值都满足某些条件。
    • INDEX - 用于非常快速地从数据库中创建和检索数据。
    可以在使用 CREATE TABLE 语句创建表时指定约束,或者即使在创建表之后也可以使用 ALTER TABLE 语句来创建约束。
  • 删除约束

    您定义的任何约束都可以使用带有 DROP 约束 选项的 ALTER TABLE 命令删除。
    例如,要删除 EMPLOYEES 表中的主键约束,可以使用以下命令。
    
    ALTER TABLE EMPLOYEES DROP 约束 EMPLOYEES_PK;
    
    一些实现可能会提供删除某些约束的快捷方式。例如,要删除 Oracle 中表的主键约束,可以使用以下命令。
    
    ALTER TABLE EMPLOYEES DROP PRIMARY KEY;
    
    一些实现允许您禁用约束。您可能希望暂时禁用该约束,然后再启用它,而不是从数据库中永久删除一个约束。
  • 完整性约束

    完整性约束用于确保关系数据库中数据的准确性和一致性。数据完整性在关系数据库中通过参照完整性的概念进行处理。
    有许多类型的完整性约束在其中发挥作用Referential Integrity (RI). 这些约束包括主键、外键、唯一约束和上面提到的其他约束。