轻松上手,快乐学习!

SQL UNIQUE 约束


SQL UNIQUE 约束

UNIQUE约束确保列中的所有值都不同。

UNIQUE和PRIMARY KEY约束都为一列或一组列的唯一性提供了保证。

PRIMARY KEY约束自动具有UNIQUE约束。

每个表可以有许多UNIQUE约束,但每个表只有一个PRIMARY KEY约束。


CREATE TABLE上的SQL UNIQUE约束

创建“Persons”表时,以下SQL在“ID”列上创建UNIQUE约束:

SQL Server / Oracle / MS Access:

CREATE TABLE Persons(
    ID int NOT NULL UNIQUE,
   LastName varchar(255) NOT NULL,
   FirstName varchar(255),
   Age int
);

MySQL的:

CREATE TABLE Persons(
    ID int NOT NULL,
   LastName varchar(255) NOT NULL,
   FirstName varchar(255),
   Age int,
   UNIQUE (ID)
);

要命名UNIQUE约束,并在多个列上定义UNIQUE约束,请使用以下SQL语法:

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons(
    ID int NOT NULL,
   LastName varchar(255) NOT NULL,
   FirstName varchar(255),
   Age int,
   CONSTRAINT UC_Person UNIQUE (ID,LastName)
);

ALTER TABLE上的SQL UNIQUE约束

要在已创建表时在“ID”列上创建UNIQUE约束,请使用以下SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD UNIQUE (ID);

要命名UNIQUE约束,并在多个列上定义UNIQUE约束,请使用以下SQL语法:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT UC_Person UNIQUE (ID,LastName);

DROP UNIQUE的约束

要删除UNIQUE约束,请使用以下SQL:

MySQL的:

ALTER TABLE Persons
DROP INDEX UC_Person;

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT UC_Person;