您的位置:MYSQL中文网 > sql unique约束 SQL UNIQUE 约束

sql unique约束 SQL UNIQUE 约束

2023-03-11 15:30 MySQL教程

sql unique约束 SQL UNIQUE 约束

sql unique约束

SQL UNIQUE约束是用来确保表中的某一列或多列的值都是唯一的,不能重复。它可以应用于单个列或者多个列,但是不能应用于整个表。UNIQUE约束可以帮助我们保证数据的完整性,避免出现重复记录。

CREATE TABLE Persons 
(
    ID int NOT NULL, 
    LastName varchar(255) NOT NULL, 
    FirstName varchar(255), 
    Age int, 
    UNIQUE (ID)  -- 在 ID 列上定义 UNIQUE 约束 
);

上面的代码中,我们在 ID 列上定义了 UNIQUE 约束,这意味着表中的 ID 值必须是唯一的,不能有重复记录。如果尝试插入重复值,将会得到一个错误消息,表明违反了 UNIQUE 约束。

SQL UNIQUE 约束

SQL UNIQUE 约束


SQL UNIQUE 约束

UNIQUE 约束唯一标识数据库表中的每条记录。

UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。

PRIMARY KEY 约束拥有自动定义的 UNIQUE 约束。

请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。


CREATE TABLE 时的 SQL UNIQUE 约束

下面的 SQL 在 "Persons" 表创建时在 "P_Id" 列上创建 UNIQUE 约束:

MySQL:

CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
UNIQUE (P_Id)
)

SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
P_Id int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

如需命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束,请使用下面的 SQL 语法:

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
)


ALTER TABLE 时的 SQL UNIQUE 约束

当表已被创建时,如需在 "P_Id" 列创建 UNIQUE 约束,请使用下面的 SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD UNIQUE (P_Id)

如需命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束,请使用下面的 SQL 语法:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)


撤销 UNIQUE 约束

如需撤销 UNIQUE 约束,请使用下面的 SQL:

MySQL:

ALTER TABLE Persons
DROP INDEX uc_PersonID

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID

阅读全文
以上是MYSQL中文网为你收集整理的sql unique约束 SQL UNIQUE 约束全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 MYSQL中文网 mysqlcn.com 版权所有 联系我们
桂ICP备12005667号-29 Powered by CMS