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).这些约束包括主键、外键、唯一约束和上面提到的其他约束。