定义了UNIQUE约束的字段中不能包含重复值,可以为一个或多个字段定义UNIQUE约束,因此,UNIQUE即可以在字段级也可以在表级定义,在UNIQUE约束的字段上可以包含空值. ORACLE自动会为具有PRIMARY KEY约束的字段(主码字段)建立一个唯一索引和一个NOT NULL约束,定义PRIMARY KEY约束时可以为它的索引; UNIQUED 可空,可以在一个表里的一个或多个字段定义;

   PRIMARY KEY不可空不可重复,在一个表里可以定义联合主键;简单的说,  primary key = unique +  not null
   unique就是唯一,当你需要限定你的某个表字段每个值都唯一,没有重复值时使用. 比如说,如果你有一个person_Info表,并且表中有个身份证的column,那么你就可以指定该字段unique.
从技术的角度来看,Primary Key和Unique Key有很多相似之处。但还是有以下异同:
  相同:它们都属于实体完整性约束.

  不同点:

  (1) 唯一性约束所在的列允许空值,但是主键约束所在的列不允许空值。
  (2) 可以把唯一性约束放在一个或者多个列上,这些列或列的组合必须有唯一的。但是,唯一性约束所在的列并不是表的主键列。
  (3) 唯一性约束强制在指定的列上创建一个唯一性索引。在默认情况下,创建唯一性的非聚簇索引,但是,也可以指定所创建的索引是聚簇索引。

  (4)建立主键的目的是让外键来引用.

  (5)一个表最多只有一个主键,但可以有很多唯一键

转载于:https://www.cnblogs.com/hxsyl/archive/2012/12/24/2830500.html

UNIQUE和PRIMARY 约束的区别相关推荐

  1. MYSQL的索引类型:PRIMARY, INDEX,UNIQUE,FULLTEXT,SPAIAL 有什么区别?各适用于什么场合?

    一.MySQL索引类型 MySql常见索引类型有:主键索引.唯一索引.普通索引.全文索引.组合索引 PRIMARY KEY(主键索引)  ALTER TABLE `table_name` ADD PR ...

  2. SQL约束(主键约束 primary key、外键约束 foreign key、唯一约束unique 、CHECK约束)

    注意: A.表中有数据不能创建约束 B.视图下设置后,要点击保存(只有保存后在才看的到) c   别忘了,点刷新,才会出来呀! 1.主键约束 primary key 主键是每行的唯一标识符,仅仅通过它 ...

  3. MySQL中KEY、PRIMARY KEY、UNIQUE KEY、INDEX 的区别

    文章目录 一.背景知识 二.MySQL 中 KEY 与 INDEX 区别 三.key的总结和分类 四.INDEX索引介绍 五.PRIMARY KEY 和 UNIQUE KEY 的区别 六.操作索引 一 ...

  4. 键、索引、约束及其区别

    键.索引.约束及其区别 今天下午刚好没事,把一些基础性的概念理顺一下,存档,省的麻烦,嘿嘿 一.索引 1.       什么是索引? 索引是对数据库表中一列或多列的值进行排序的一种结构. 在关系型数据 ...

  5. unique和primary的添加和修改

    1.更改或者删除mysql的主键 删除主键 alter table 表名 drop primary key; 然后再增加主键 alter table 表名 add primary key(字段); 2 ...

  6. 主键约束和唯一约束的区别

    1.主键约束(PRIMARY KEY) 1) 主键用于唯一地标识表中的每一条记录,可以定义一列或多列为主键.  2) 是不可能(或很难)更新.  3) 主键列上没有任何两行具有相同值(即重复值),不允 ...

  7. mysql中主键约束和唯一约束的区别_主键约束和唯一性约束的区别

    1.主键约束(PRIMARY KEY) 1) 主键用于唯一地标识表中的每一条记录,可以定义一列或多列为主键. 2) 是不可能(或很难)更新. 3) 主键列上没有任何两行具有相同值(即重复值),不允许空 ...

  8. MySQL中INDEX,PRIMARY,UNIQUE,FULLTEXT之间的区别?

    创建MySQL表时,PRIMARY,UNIQUE,INDEX和FULLTEXT有什么区别? 我将如何使用它们? #1楼 我觉得这已经很好地涵盖了,也许除了以下几点: 如果选择性足够,简单的KEY / ...

  9. MYSQL的索引类型:PRIMARY, INDEX,UNIQUE,FULLTEXT,SPAIAL 有什么区别?各适用于什么场合?...

    一.介绍一下索引的类型 Mysql常见索引有:主键索引.唯一索引.普通索引.全文索引.组合索引 PRIMARY KEY(主键索引) ALTER TABLE `table_name` ADD PRIMA ...

最新文章

  1. 选对工具,你也能做出别人家的酷炫大屏
  2. 文件内容、关键字匹配,split 和 indexOf 均可实现
  3. oracle pl/sql编程详细,Oracle框架:PL/SQL编程:
  4. [Winodows Phone 7控件详解]容器控件
  5. Linux创建名为vgtest的分区,第五周作业,
  6. ip转换器是否可以被检测出来_一氧化碳报警器是否可以检测煤气泄漏
  7. 《zabbix中文支持》-4
  8. STM32平台SD卡的FatFS文件系统开发
  9. 基于VxWorks的VxBus字符设备驱动
  10. Tensorflow多输入模型构建以及Dataset数据构建
  11. 计算机地图制图 知识总结
  12. 计算锥形的表面积c语言编程,表面积和体积,就没见过这么耐心的解释!
  13. c语言中eof的作用,eof在c语言中表示什么
  14. 游戏六边形地图的实现
  15. 【Discuz!】添加表情
  16. linux 处理匹配文本的前后行
  17. 分数的四则运算及化简(C语言实现)
  18. 【TSP问题】基于改进遗传算法求解旅行商问题matlab源码
  19. R语言ggplot2 柱状图(条形图)xy轴翻转,及排序
  20. 帆软 FCJA 2022

热门文章

  1. linux脚本编写记录
  2. 2018.09.14 codechef Milestone(随机化算法)
  3. 二维“有序”数组查找问题
  4. 【OC语法快览】四、基础内存管理
  5. 轻松学编程--轻松学Oracle数据库(附光盘)
  6. Android启动模式详解
  7. Failed to find provider info for com.tencent.mm.sdk.plugin.provider
  8. volley框架使用
  9. 实用ListView加载提示工具类
  10. python伪造邮件发件地址_python写一个邮箱伪造脚本