📜  SQL > Manipulação de Tabelas > 约束 - SQL (1)

📅  最后修改于: 2023-12-03 15:20:14.062000             🧑  作者: Mango

SQL Manipulação de Tabelas - 约束

简介

在SQL中,约束用于定义对表中数据的限制和规则。它们帮助确保数据的一致性和完整性,通过强制执行事先定义的规则,防止插入非法数据。

本文将介绍约束在SQL中的使用方法和常见类型,以及如何创建和修改约束。

常见约束类型
主键约束 (PRIMARY KEY)

主键约束用于唯一标识表中的一条记录。主键列的值不能重复,且不能为NULL。

创建主键约束的语法如下:

CREATE TABLE 表名 (
   列名 数据类型 PRIMARY KEY,
   ...
);
外键约束 (FOREIGN KEY)

外键约束用于创建表之间的关联关系。它指定一个列或一组列,这些列的值必须存在于另一个表的主键中。

创建外键约束的语法如下:

CREATE TABLE 表名 (
   列名 数据类型,
   FOREIGN KEY (列名) REFERENCES 外部表名(外部表主键列名),
   ...
);
唯一约束 (UNIQUE)

唯一约束用于确保列中的值不重复。与主键不同,唯一约束允许NULL值。

创建唯一约束的语法如下:

CREATE TABLE 表名 (
   列名 数据类型 UNIQUE,
   ...
);
检查约束 (CHECK)

检查约束用于定义列中的值必须满足的条件。它使用布尔表达式来验证数据的有效性。

创建检查约束的语法如下:

CREATE TABLE 表名 (
   列名 数据类型 CHECK (条件),
   ...
);
非空约束 (NOT NULL)

非空约束用于确保列中的值不能为空。非空约束要求所有记录都必须有非空值。

创建非空约束的语法如下:

CREATE TABLE 表名 (
   列名 数据类型 NOT NULL,
   ...
);
默认约束 (DEFAULT)

默认约束用于指定当未提供值时列应采用的默认值。

创建默认约束的语法如下:

CREATE TABLE 表名 (
   列名 数据类型 DEFAULT 默认值,
   ...
);
创建约束

要创建约束,可以在创建表时使用上述约束类型的语法。例如,创建一个带有主键约束和外键约束的表:

CREATE TABLE 表名 (
   列名 数据类型 PRIMARY KEY,
   外键列名 数据类型,
   FOREIGN KEY (外键列名) REFERENCES 外部表名(外部表主键列名)
);
修改约束

如果需要修改已存在的约束,可以使用 ALTER TABLE 语句。

例如,添加一个新的唯一约束:

ALTER TABLE 表名
ADD CONSTRAINT 约束名 UNIQUE (列名);

或者,删除一个约束:

ALTER TABLE 表名
DROP CONSTRAINT 约束名;
结论

约束在SQL中起着非常重要的作用,它们帮助确保数据库中的数据完整性和一致性。本文介绍了不同类型的约束以及如何创建和修改约束。

记住,使用适当的约束将大大提高数据库的可靠性和性能。