SQL UNIQUE 约束


SQL UNIQUE 约束

简介

在 SQL 中,UNIQUE 约束是一种用来确保表中指定的列或者一组列唯一性的约束。这意味着,UNIQUE 约束将防止表中的多行包含相同的值。

用法

在创建表时,可以在列级别或者表级别上指定 UNIQUE 约束。以下是在列级别指定 UNIQUE 约束的 SQL 语法:

CREATE TABLE table_name (
    column1 datatype UNIQUE,
    column2 datatype,
    column3 datatype,
    .....
);

以下是在表级别指定 UNIQUE 约束的 SQL 语法:

CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    column3 datatype,
    .....,
    CONSTRAINT constraint_name UNIQUE (column1, column2, ... column_n)
);

在这里,CONSTRAINT 是唯一性约束的关键字,而 constraint_name 是为 UNIQUE 约束指定的名称。然后,在括号内指定包含唯一性约束的列名称。

示例

以下是一个使用 UNIQUE 约束的示例:

CREATE TABLE Students (
    ID int NOT NULL,
    FirstName varchar(255) NOT NULL,
    LastName varchar(255) NOT NULL,
    Email varchar(255) UNIQUE,
    PRIMARY KEY (ID)
);

在这个例子中,Email 列被标记为 UNIQUE。这意味着,表中的每一行必须具有唯一的 Email 值。

注意事项

以下是使用 UNIQUE 约束时的一些注意事项:

  • 在表中只能指定一个 PRIMARY KEY。这意味着,不能在 PRIMARY KEY 列上指定 UNIQUE 约束。
  • 如果在表中的多个列上指定 UNIQUE 约束,则每一行必须具有唯一的列组合。
  • 在 ALTER TABLE 语句中可以添加或删除 UNIQUE 约束。
  • 在使用 UNIQUE 约束时要确保数据的准确性。如果不小心插入了重复值,则会出现错误。

结论

UNIQUE 约束是 SQL 中用来确保表中指定列或组合列唯一性的约束。可以在列级别或表级别上指定 UNIQUE 约束。在一个表中,只能有一个 PRIMARY KEY,因此不能在 PRIMARY KEY 上指定 UNIQUE 约束。在使用 UNIQUE 约束时,要确保数据的准确性并避免插入重复值。