SQL – 约束
SQL – 约束
约束是对表的数据列强制执行的规则。这些用于限制可以进入表的数据类型。这保证了数据库中数据的准确性和可靠性。
约束可以在列级别或表级别。列级约束仅应用于一列,而表级约束应用于整个表。
以下是 SQL 中可用的一些最常用的约束。这些约束已经在SQL – RDBMS 概念一章中讨论过 ,但此时有必要对它们进行修改。
-
NOT NULL Constraint – 确保列不能有 NULL 值。
-
DEFAULT Constraint – 当没有指定时,为列提供默认值。
-
UNIQUE Constraint – 确保列中的所有值都不同。
-
PRIMARY Key – 唯一标识数据库表中的每一行/记录。
-
FOREIGN Key – 唯一标识任何给定数据库表中的行/记录。
-
CHECK Constraint – CHECK 约束确保列中的所有值满足某些条件。
-
INDEX – 用于非常快速地从数据库创建和检索数据。
可以在使用 CREATE TABLE 语句创建表时指定约束,或者即使在创建表之后也可以使用 ALTER TABLE 语句创建约束。
删除约束
可以使用带有 DROP CONSTRAINT 选项的 ALTER TABLE 命令删除您定义的任何约束。
例如,要删除 EMPLOYEES 表中的主键约束,可以使用以下命令。
ALTER TABLE EMPLOYEES DROP CONSTRAINT EMPLOYEES_PK;
某些实现可能提供用于删除某些约束的快捷方式。例如,要删除 Oracle 中某个表的主键约束,可以使用以下命令。
ALTER TABLE EMPLOYEES DROP PRIMARY KEY;
某些实现允许您禁用约束。您可能希望暂时禁用约束,然后再启用它,而不是从数据库中永久删除约束。
完整性约束
完整性约束用于确保关系数据库中数据的准确性和一致性。数据完整性是通过参照完整性的概念在关系数据库中处理的。
有多种类型的完整性约束在参照完整性 (RI) 中起作用。这些约束包括主键、外键、唯一约束和上面提到的其他约束。