📅  最后修改于: 2023-12-03 15:20:14.062000             🧑  作者: Mango
在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中起着非常重要的作用,它们帮助确保数据库中的数据完整性和一致性。本文介绍了不同类型的约束以及如何创建和修改约束。
记住,使用适当的约束将大大提高数据库的可靠性和性能。