1.主键约束(PRIMARY KEY)

1) 主键用于唯一地标识表中的每一条记录,可以定义一列或多列为主键。

2) 是不可能(或很难)更新.

3) 主键列上没有任何两行具有相同值(即重复值),不允许空(NULL).

4) 主健可作外健,唯一索引不可;

2.唯一性约束(UNIQUE)

1) 唯一性约束用来限制不受主键约束的列上的数据的唯一性,用于作为访问某行的可选手段,一个表上可以放置多个唯一性约束.

2) 只要唯一就可以更新.

3) 即表中任意两行在  指定列上都不允许有相同的值,允许空(NULL).

4) 一个表上可以放置多个唯一性约束

3.唯一索引(INDEX)

创建唯一索引可以确保任何生成重复键值的尝试都会失败。

唯一性约束和主键约束的区别:

(1).唯一性约束允许在该列上存在NULL值,而主键约束的限制更为严格,不但不允许有重复,而且也不允许有空值。

(2).在创建唯一性约束和主键约束时可以创建聚集索引和非聚集索引,但在 默认情况下主键约束产生聚集索引,而唯一性约束产生非聚集索引

   约束和索引, 前者是用来检查数据的正确性,后者用来实现数据查询的优化,目的不同。

   唯一性约束与唯一索引有所不同:

(1).创建唯一约束会在Oracle中创建一个Constraint,同时也会创建一个该约束对应的唯一索引。

(2).创建唯一索引只会创建一个唯一索引,不会创建Constraint。

也就是说其实唯一约束是通过创建唯一索引来实现的。

在删除时这两者也有一定的区别:

删除唯一约束时可以只删除约束而不删除对应的索引,所以对应的列还是必须唯一的,

而删除了唯一索引的话就可以插入不唯一的值

主键约束、唯一性约束、唯一索引相关推荐

  1. SQL Server里的主键、唯一性约束、聚集索引

    什么是主键? 在数据库中,常常不只是一个表,这些表之间也不是相互独立的.不同的表之间需要建立一种关系,才能将它们的数据相互沟通.而在这个沟通过程中,就需要表中有一个字段作为标志,不同的记录对应的字段取 ...

  2. 主键primary key和唯一索引unique index

    1)主键一定是唯一性索引,唯一性索引并不一定就是主键. 2)主键就是能够唯一标识表中某一行的属性或属性组,一个表只能有一个主键,但可以有多个候选索引. 3)主键常常与外键构成参照完整性约束,防止出现数 ...

  3. 联合主键违反唯一性约束_(变强、变秃)Java从零学习024/252数据库之定义约束。...

    知识点太多太杂了,随机一个: 十. 定义约束 1 数据库中的约束类型 – 非空约束(NOT NULL) – 唯一性约束(UNIQUE) – 主键约束(PRIMARY KEY) – 外键约束(FOREI ...

  4. MySQL之innodb与myisam:锁 事务 外键 主键 存储结构 存储大小 索引 count 注重点

    行锁:innodb支持行锁 事务:innodb支持事务 外键:MyISAM不支持InnoDB支持 主键:myisam允许没有索引和主键的表存在:innodb如果没有设定主键或者非空唯一索引,会生成一个 ...

  5. oracle 主键 唯一性,oracle 唯一索引,唯一约束,主键之间的联系

    主键(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录,在两个表的关系中,主键用来在一个表中引用来自于另一个表中的特定记录,,主键时一种唯一关键字,表定义的一部分. ...

  6. 主键约束、主键自增约束、唯一约束、非空约束、外键约束

    1. 约束的概念和分类 约束:对表中的数据进行限定,保证数据的正确性.有效性.完整性! 约束分类: 约束 说明 PRIMARY KEY 主键约束 PRIMARY KEY AUTO_INCREMENT ...

  7. 主键和唯一性索引的区别

    主键一定是唯一性索引,唯一性索引并不一定就是主键.  所谓主键就是能够唯一标识表中某一行的属性或属性组,一个表只能有一个主键,但可以有多个候选索引. 因为主键可以唯一标识某一行记录,所以可以确保执行数 ...

  8. oracle怎么查看表的唯一约束,查询(看)表的主键、外键、唯一性约束和索引

    --查找表的所索引(包括索引名,类型,构成列: SELECT T.*, I.INDEX_TYPE FROM USER_IND_COLUMNS T, USER_INDEXES I WHERE T.IND ...

  9. mysql主键是非空吗_mysql主键非空约束怎么设置?

    mysql主键约束 主键(PRIMARY KEY)的完整称呼是"主键约束",是 MySQL 中使用最为频繁的约束.一般情况下,为了便于 DBMS 更快的查找到表中的记录,都会在表中 ...

  10. SQL那些事儿(十)--oracle主键、唯一键与索引

    一般,我们看到术语"索引"和"键"交换使用,但实际上这两个是不同的.索引是存储在数据库中的一个物理结构,键纯粹是一个逻辑概念.键代表创建来实施业务规则的完整性约 ...

最新文章

  1. MySQL 在 LIMIT 条件后注入
  2. 【设计模式】单例模式-生成器模式-原型模式
  3. 追本溯源:字符串及编码
  4. ug区域轮廓铣没有重叠距离_UG编程轮廓铣的切削参数“清理几何体”,360°无死角扫除!...
  5. 分享安卓SD卡的后台设置
  6. 通过ip地址定位计算机,局域网通过IP地址如何找到电脑的位置
  7. vue3和vue2不同点总结
  8. python上位机实现机械臂拾物
  9. 舵机常见问题原理分析及解决办法
  10. 摄影测量(二):航空摄影
  11. 00后必看:如何在互联网就业寒冬和疫情的双面夹击下找到心仪工作
  12. 【STM32CubeMX安装】
  13. springboot切面AOP拦截父类或接口中标记注解的方法
  14. SEO人员,怎么先发制人做好SEO?
  15. 英国大不列颠百科全书_大不列颠计划通过社区编辑接受维基百科
  16. 磨金石教育手机摄影技巧||处理好照片的主次,出片率提高10倍!
  17. 从neo4j-broswer中剥离graph图表
  18. 深度linux系统任务栏毛玻璃,操作系统中常见的「毛玻璃」效果是怎么设计出来的?...
  19. MPSDK4J 是JAVA微信公平台开发SDK,没有复杂的功能,一切源于微信API,愿你会喜欢使用。-- 题记
  20. 【干货】ArcGIS常用标注技巧

热门文章

  1. MySQL基础语法与JDBC
  2. springboot接口统一加密解密
  3. 数字图像处理笔记2-nbsp;边沿检…
  4. b,B,KB,MB,GB,TB,PB,EB,ZB,YB,BB,NB,DB的含义,之间的关系
  5. Python实现json串比对并输出差异结果
  6. 报错:cannot match operand(s)in the condition to the corresponding edges in the enclosing event control
  7. C语言绘画玫瑰花和爱心
  8. java基础巩固-宇宙第一AiYWM:为了维持生计,四大基础之计网_Part_2(在浏览器中输入www.baidu.com后执行的全部过程、DNS的域名<->IP地址、OS协议栈的样子、CDN)整起
  9. 从JDK8到JDK17,需要注意的一些新特性
  10. React-Native学习