📜  sql server 创建约束 - SQL (1)

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

SQL Server创建约束

在 SQL Server 中,约束是一种用于强制实体完整性的方法。通过约束,您可以实施规则以维护表的正确性和完整性。在本文中,我们将学习如何在 SQL Server 中创建约束。

约束类型

在 SQL Server 中,有以下类型的约束:

  1. PRIMARY KEY 约束
  2. FOREIGN KEY 约束
  3. UNIQUE 约束
  4. CHECK 约束
  5. DEFAULT 约束
创建约束

要创建约束,请使用 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 约束

PRIMARY KEY 约束用于唯一标识表中的行。它还可以用作其他表的 FOREIGN KEY 约束的参考。要创建 PRIMARY KEY 约束,请使用以下行:

ALTER TABLE table_name
ADD CONSTRAINT constraint_name PRIMARY KEY (column_list)
FOREIGN KEY 约束

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 约束

UNIQUE 约束用于确保表中的每个值都是唯一的。与 PRIMARY KEY 约束不同,UNIQUE 约束不用于标识行。要创建 UNIQUE 约束,请使用以下语法:

ALTER TABLE table_name
ADD CONSTRAINT constraint_name UNIQUE (column_list)
CHECK 约束

CHECK 约束用于确保表中的值符合指定的条件。要创建 CHECK 约束,请使用以下语法:

ALTER TABLE table_name
ADD CONSTRAINT constraint_name CHECK (condition)
DEFAULT 约束

DEFAULT 约束用于在向表中插入新行时为列提供默认值。要创建 DEFAULT 约束,请使用以下语法:

ALTER TABLE table_name
ADD CONSTRAINT constraint_name DEFAULT default_value FOR column_name
结论

约束是在 SQL Server 中维护表的正确性和完整性的重要工具。在本文中,我们已经介绍了五种类型的约束,以及创建每种类型约束的语法。通过对约束的使用,您可以确保数据的正确性和完整性,减少数据损坏和错误。