SQL研习录(22)——唯一性约束(UNIQUE)

SQL研习录(22)——唯一性约束(UNIQUE)


版权声明

  • 本文原创作者:清风不渡
  • 博客地址:https://blog.csdn.net/WXKKang

一、UNIQUE约束

  UNIQUE约束用于唯一标识数据库表中的每条记录,它和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证,PRIMARY KEY 约束拥有自动定义的 UNIQUE 约束,但是请注意:
  一个表可以有多个 UNIQUE 约束,但是一个表只能有一个 PRIMARY KEY 约束

1、基本语法

  创建表(CREATE TABLE)时的唯一性(UNIQUE)约束
  在MySQL数据库中,创建表时定义唯一性(UNIQUE)约束时可用下面的语法:

CREATE TABLE table_name(
	column_name1 data_type (size) NOT NULL,
	column_name2 data_type (size) NOT NULL,
	column_name3 data_type (size),
	...
	UNIQUE(column_name1)
)

  在SQL Server / Oracle / MS Access数据库中,创建表时定义唯一性(UNIQUE)约束时可用下面的语法:

CREATE TABLE table_name(
	column_name1 data_type (size) NOT NULL UNIQUE,
	column_name2 data_type (size) NOT NULL,
	column_name3 data_type (size),
	...
)

  如需命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束则可使用下面的 SQL 语法(MySQL / SQL Server / Oracle / MS Access):

CREATE TABLE table_name(
	column_name1 data_type (size) NOT NULL,
	column_name2 data_type (size) NOT NULL,
	column_name3 data_type (size),
	...
	CONSTRAINT uc_name UNIQUE (column_name1,column_name2)
)

  修改表(ALTER TABLE)时的唯一性(UNIQUE)约束
  当表已被创建时,如需在某一列创建 UNIQUE 约束则可使用下面的语法(MySQL / SQL Server / Oracle / MS Access):

ALTER TABLE table_name
ADD UNIQUE (column_name)

  如需命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束则可使用下面的语法(MySQL / SQL Server / Oracle / MS Access):

ALTER TABLE table_name
ADD CONSTRAINT uc_name UNIQUE (column_name1,column_name2)

  撤销UNIQUE约束
  在MySQL数据库中,如需撤销UNIQUE约束,则可使用下面的语法:

ALTER TABLE table_name 
DROP INDEX uc_name

  在SQL Server / Oracle / MS Access数据库中,如需撤销UNIQUE约束,则可使用下面的语法:

ALTER TABLE table_name  
DROP CONSTRAINT uc_name
发布了81 篇原创文章 · 获赞 36 · 访问量 3343

猜你喜欢

转载自blog.csdn.net/WXKKang/article/details/103870174