📅  最后修改于: 2023-12-03 15:35:05.046000             🧑  作者: Mango
在 SQL Server 中,约束是一种用于强制实体完整性的方法。通过约束,您可以实施规则以维护表的正确性和完整性。在本文中,我们将学习如何在 SQL Server 中创建约束。
在 SQL Server 中,有以下类型的约束:
要创建约束,请使用 ALTER TABLE
命令,并指定 ADD CONSTRAINT
子句,如下所示:
ALTER TABLE table_name
ADD CONSTRAINT constraint_name constraint_type (column_list)
其中,
table_name
是要添加约束的表的名称。constraint_name
是约束的名称。constraint_type
是约束的类型。column_list
是要添加约束的列的名称。PRIMARY KEY 约束用于唯一标识表中的行。它还可以用作其他表的 FOREIGN KEY 约束的参考。要创建 PRIMARY KEY 约束,请使用以下行:
ALTER TABLE table_name
ADD CONSTRAINT constraint_name PRIMARY KEY (column_list)
FOREIGN KEY 约束用于确保一个表中的值与另一个表中的值相匹配。如果在一个表中插入值,而该值在另一个表中尚不存在,则 FOREIGN KEY 约束将不允许插入。要创建 FOREIGN KEY 约束,请使用以下语法:
ALTER TABLE child_table
ADD CONSTRAINT constraint_name FOREIGN KEY (child_column)
REFERENCES parent_table (parent_column)
其中,
child_table
是包含 FOREIGN KEY 的表的名称。child_column
是要包含 FOREIGN KEY 的列的名称。parent_table
是要引用的父表的名称。parent_column
是要引用的父表中的列的名称。UNIQUE 约束用于确保表中的每个值都是唯一的。与 PRIMARY KEY 约束不同,UNIQUE 约束不用于标识行。要创建 UNIQUE 约束,请使用以下语法:
ALTER TABLE table_name
ADD CONSTRAINT constraint_name UNIQUE (column_list)
CHECK 约束用于确保表中的值符合指定的条件。要创建 CHECK 约束,请使用以下语法:
ALTER TABLE table_name
ADD CONSTRAINT constraint_name CHECK (condition)
DEFAULT 约束用于在向表中插入新行时为列提供默认值。要创建 DEFAULT 约束,请使用以下语法:
ALTER TABLE table_name
ADD CONSTRAINT constraint_name DEFAULT default_value FOR column_name
约束是在 SQL Server 中维护表的正确性和完整性的重要工具。在本文中,我们已经介绍了五种类型的约束,以及创建每种类型约束的语法。通过对约束的使用,您可以确保数据的正确性和完整性,减少数据损坏和错误。