SQL 唯一键

SQL 唯一键

唯一键是一张数据库表中的一个或多个字段/列的集合,能够唯一地标识一条记录。

可以说它类似于主键,但它只能接受一个空值,并且不能有重复值。

唯一键和主键都提供了对一个列或一组列的唯一性的保证。

主键约束中自动定义了唯一键约束。

一个表可以有多个唯一键约束,但只能有一个主键约束。

在CREATE TABLE语句中使用SQL UNIQUE KEY约束:

如果要在创建”students”表时对”S_Id”列创建一个唯一约束,可以使用以下SQL语法:

SQL Server / Oracle / MS Access:

(对单个列定义唯一键约束):

CREATE TABLE students
(
S_Id int NOT NULL UNIQUE,
LastName varchar (255) NOT NULL,
FirstName varchar (255),
City varchar (255)
)

MySQL

CREATE TABLE students
CREATE TABLE students
(
S_Id int NOT NULL,
LastName varchar (255) NOT NULL,
FirstName varchar (255),
City varchar (255),
UNIQUE (S_Id)
)

(在多个列上定义唯一键约束):

MySQL / SQL Server / Oracle / MS Access:

 CREATE TABLE students
(
S_Id int NOT NULL,
LastName varchar (255) NOT NULL,
FirstName varchar (255),
City varchar (255),
CONSTRAINT uc_studentId UNIQUE (S_Id, LastName)
)

在ALTER TABLE上的SQL UNIQUE KEY约束:

如果你想在表已经创建的情况下,在”S_Id”列上创建一个唯一约束,你应该使用以下的SQL语法:

(在单个列上定义唯一键约束):

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE students
ADD UNIQUE (S_Id)

(在多列上定义唯一键约束):

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE students
ADD CONSTRAINT uc_StudentId UNIQUE  (S_Id, LastName)

删除FOREIGN KEY约束的语法:

如果您想删除唯一约束,请使用以下SQL语法:

MySQL:

ALTER TABLE students
DROP INDEX uc_studentID

SQL Server / Oracle / MS Access:

ALTER TABLE students
DROP CONSTRAINT uc_studentID

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程