UNIQUE和PRIMARY 约束的区别
定义了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 约束的区别相关推荐
- MYSQL的索引类型:PRIMARY, INDEX,UNIQUE,FULLTEXT,SPAIAL 有什么区别?各适用于什么场合?
一.MySQL索引类型 MySql常见索引类型有:主键索引.唯一索引.普通索引.全文索引.组合索引 PRIMARY KEY(主键索引) ALTER TABLE `table_name` ADD PR ...
- SQL约束(主键约束 primary key、外键约束 foreign key、唯一约束unique 、CHECK约束)
注意: A.表中有数据不能创建约束 B.视图下设置后,要点击保存(只有保存后在才看的到) c 别忘了,点刷新,才会出来呀! 1.主键约束 primary key 主键是每行的唯一标识符,仅仅通过它 ...
- MySQL中KEY、PRIMARY KEY、UNIQUE KEY、INDEX 的区别
文章目录 一.背景知识 二.MySQL 中 KEY 与 INDEX 区别 三.key的总结和分类 四.INDEX索引介绍 五.PRIMARY KEY 和 UNIQUE KEY 的区别 六.操作索引 一 ...
- 键、索引、约束及其区别
键.索引.约束及其区别 今天下午刚好没事,把一些基础性的概念理顺一下,存档,省的麻烦,嘿嘿 一.索引 1. 什么是索引? 索引是对数据库表中一列或多列的值进行排序的一种结构. 在关系型数据 ...
- unique和primary的添加和修改
1.更改或者删除mysql的主键 删除主键 alter table 表名 drop primary key; 然后再增加主键 alter table 表名 add primary key(字段); 2 ...
- 主键约束和唯一约束的区别
1.主键约束(PRIMARY KEY) 1) 主键用于唯一地标识表中的每一条记录,可以定义一列或多列为主键. 2) 是不可能(或很难)更新. 3) 主键列上没有任何两行具有相同值(即重复值),不允 ...
- mysql中主键约束和唯一约束的区别_主键约束和唯一性约束的区别
1.主键约束(PRIMARY KEY) 1) 主键用于唯一地标识表中的每一条记录,可以定义一列或多列为主键. 2) 是不可能(或很难)更新. 3) 主键列上没有任何两行具有相同值(即重复值),不允许空 ...
- MySQL中INDEX,PRIMARY,UNIQUE,FULLTEXT之间的区别?
创建MySQL表时,PRIMARY,UNIQUE,INDEX和FULLTEXT有什么区别? 我将如何使用它们? #1楼 我觉得这已经很好地涵盖了,也许除了以下几点: 如果选择性足够,简单的KEY / ...
- MYSQL的索引类型:PRIMARY, INDEX,UNIQUE,FULLTEXT,SPAIAL 有什么区别?各适用于什么场合?...
一.介绍一下索引的类型 Mysql常见索引有:主键索引.唯一索引.普通索引.全文索引.组合索引 PRIMARY KEY(主键索引) ALTER TABLE `table_name` ADD PRIMA ...
最新文章
- 选对工具,你也能做出别人家的酷炫大屏
- 文件内容、关键字匹配,split 和 indexOf 均可实现
- oracle pl/sql编程详细,Oracle框架:PL/SQL编程:
- [Winodows Phone 7控件详解]容器控件
- Linux创建名为vgtest的分区,第五周作业,
- ip转换器是否可以被检测出来_一氧化碳报警器是否可以检测煤气泄漏
- 《zabbix中文支持》-4
- STM32平台SD卡的FatFS文件系统开发
- 基于VxWorks的VxBus字符设备驱动
- Tensorflow多输入模型构建以及Dataset数据构建
- 计算机地图制图 知识总结
- 计算锥形的表面积c语言编程,表面积和体积,就没见过这么耐心的解释!
- c语言中eof的作用,eof在c语言中表示什么
- 游戏六边形地图的实现
- 【Discuz!】添加表情
- linux 处理匹配文本的前后行
- 分数的四则运算及化简(C语言实现)
- 【TSP问题】基于改进遗传算法求解旅行商问题matlab源码
- R语言ggplot2 柱状图(条形图)xy轴翻转,及排序
- 帆软 FCJA 2022
热门文章
- linux脚本编写记录
- 2018.09.14 codechef Milestone(随机化算法)
- 二维“有序”数组查找问题
- 【OC语法快览】四、基础内存管理
- 轻松学编程--轻松学Oracle数据库(附光盘)
- Android启动模式详解
- Failed to find provider info for com.tencent.mm.sdk.plugin.provider
- volley框架使用
- 实用ListView加载提示工具类
- python伪造邮件发件地址_python写一个邮箱伪造脚本