sql unique约束详解

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

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

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

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

SQL UNIQUE Constraint on CREATE TABLE

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

MySQL:

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

SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
Id_P 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
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)
);
意思是多个列组成联合主键(单个列可以出现重复,但是组合列不能重复)

SQL UNIQUE Constraint on ALTER TABLE

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

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD UNIQUE (Id_P)

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

MySQL / SQL Server / Oracle / MS Access:

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

撤销 UNIQUE 约束

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

MySQL:

ALTER TABLE Persons
DROP INDEX uc_PersonID

SQL Server / Oracle / MS Access:

ALTER TABLE Persons DROP CONSTRAINT uc_PersonID

sql unique约束详解相关推荐

  1. mysql怎么约束_MySQL 约束详解

    MySQL 约束详解 MySQL 中的约束是用来保证数据的完整性的机制.数据完整性一般有以下三种形式: 实体完整性:保证表中有一个主键. 域完整性:保证数据每列的值满足特定条件. 引用完整性:保证两张 ...

  2. 外键约束详解及术语释疑

    外键约束详解及术语释疑 先要理清几个概念: 1)候选键(Candidate Key):关系中的一个属性组,其值能唯一标识一个元组,若从该属性组中去掉任何一个属性,它就不具有这一性质了,这样的属性组称作 ...

  3. MySQL系列---架构与SQL执行流程详解

    文章目录 1. 背景 2. 架构体系 2.1 架构图 2.2 模块详解 2.3 架构分层 3. 查询SQL语句执行流程 3.1 连接 3.1.1 MySQL支持的通信协议 3.1.2 通信方式 3.2 ...

  4. ORACLE的索引和约束详解数据库

    ORACLE的索引和约束详解数据库 Oracle的约束 * 如果某个约束只作用于单独的字段,即可以在字段级定义约束,也可以在表级定义约束,但如果某个约束作用于多个字段, 必须在表级定义约束 * 在定义 ...

  5. mysql 批量导入sql_MySQL高效导入多个.sql文件方法详解

    MySQL有多种方法导入多个.sql文件(里面是sql语句),常用的有两个命令:mysql和source. 但是这两个命令的导入效率差别很大,具体请看最后的比较. (还有sqlimport和LOAD ...

  6. sql唯一约束怎么设置_20200923 SQL UNIQUE 约束

    SQL UNIQUE 约束 UNIQUE 约束唯一标识数据库表中的每条记录. UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证. PRIMARY KEY 拥有自动定义的 ...

  7. python生成表格文件_python 读取excel文件生成sql文件实例详解

    python 读取excel文件生成sql文件实例详解 学了python这么久,总算是在工作中用到一次.这次是为了从excel文件中读取数据然后写入到数据库中.这个逻辑用java来写的话就太重了,所以 ...

  8. Java程序员从笨鸟到菜鸟之(一百)sql注入攻击详解(一)sql注入原理详解

    前段时间,在很多博客和微博中暴漏出了12306铁道部网站的一些漏洞,作为这么大的一个项目,要说有漏洞也不是没可能,但其漏洞确是一些菜鸟级程序员才会犯的错误.其实sql注入漏洞就是一个.作为一个菜鸟小程 ...

  9. 用JDBC直连方式访问SQL Server 2005详解

    用JDBC直连方式访问SQL Server 2005详解 1.安装JDK,配置其环境变量:(笔者所用版本为1.6版) (1)从官方网http://java.sun.com/jdk下载安装文件. (2) ...

最新文章

  1. DNN安装报错-The stored procedure 'dbo.GetPortalAliasByPortalID' doesn't exist.如何解决
  2. Centos进入紧急模式解决方法
  3. 网络营销外包——网络营销外包专员如何提升首页关键词的转化率
  4. Redis-20Spring缓存机制整合Redis
  5. android的构成和工作流程,分析Android中View的工作流程
  6. 2022博客整理之感言
  7. 深入理解golang的defer
  8. 设置Jexus开机启动
  9. Ubuntu下安装uwsgi报错的解决方案
  10. 各种Demo下载网址
  11. multisim14安装与卸载
  12. PMP考试一定要大量做题吗?
  13. 小程序tabBar图标显示太大
  14. 重装ubuntu16.04之搜狗拼音输入法
  15. matlab投资组合权重,【原创】投资组合风险-收益关系的Matlab实现
  16. java远程桌面_java – 实现远程桌面共享解决方案
  17. 如何避免工程项目翻车?
  18. TOTP 介绍及基于C#的简单实现
  19. 基于OpenSSL的CA建立及证书签发(签发多域名/IP)
  20. 怎么批量提取多个 Excel 文档中的图片

热门文章

  1. Kali渗透之PING命令
  2. 省市数字政务能力权威揭底:安徽、山东不进反退
  3. 大数据的十大来源及其应用价值
  4. 实习日记——Day3
  5. AVFoundation 『入门』-- 以微信小视屏为例
  6. Android 进阶——调试调优利器 ADB常用指令大全
  7. 论文阅读 Neural Computation of Decisions in Optimization Problems
  8. 音视频系列八 ffmpeg使用mediacodec硬解码
  9. SSLOJ 1318.地铁重组
  10. BLheli-F330电调相关实验方案