1)主键一定是唯一性索引,唯一性索引并不一定就是主键。

2)主键就是能够唯一标识表中某一行的属性或属性组,一个表只能有一个主键,但可以有多个候选索引。

3)主键常常与外键构成参照完整性约束,防止出现数据不一致。

4)主键可以保证记录的唯一和主键域非空,数据库管理系统对于主键自动生成唯一索引,所以主键也是一个特殊的索引。

5)一个表中可以有多个唯一性索引,但只能有一个主键。

6)主键列不允许空值,而唯一性索引列允许空值。

7)索引可以提高查询的速度。

8)主键一般都要建,主要是用来避免一张表中有相同的记录;索引一般可以不建,但如果需要对该表进行查询操作,则最好建,这样可以加快检索的速度。

首先primary key跟unique都是Constraints,属于logical object,而index则是physical object,会占用index page并被保存在磁盘上。

Primary key Constraints和unique Constraints都需要保证列是唯一的,不能有重复值,但是一张表只能有一个Primary key Constraints,但是可以有多个unique Constraints。

转载于:https://www.cnblogs.com/ccsx/p/8696347.html

主键primary key和唯一索引unique index相关推荐

  1. 数据库六大约束用法:主键(primary key)、外键(foreign key)、非空(not null)、默认(default)、检查(check)、唯一(unique)

    1. 数据库有六大约束 主键(primary key) 外键(foreign key):被参照的键必须有唯一约束或是主键 非空(not null) 默认(default) 检查(check):orac ...

  2. Mysql完整性约束详解(字段唯一,非空,主键primary key,外键foreign key,自增长auto_increment)

    引入 1.什么是完整性约束, 为什么使用 为了规范数据格式, 在用户进行插入.修改.删除等操作时,DBMS(数据库管理系统(Data Base Management System))自动按照约束条件对 ...

  3. Oracle之主键(Primary Key)用法详解

    工作中用的数据库是Oracle,建表是说用复合主键,博主不是很懂啊(主键还有复合主键),才发现主键这块很是薄弱,查完资料,特写一篇博客记录一下. 什么是主键 主键(primary key)是表中的一个 ...

  4. 主键(Primary Key)设置

    版权声明:Copyright©2008-2020,david, All Rights Reserved, 本文为博主原创文章,转载请标明出处. https://blog.csdn.net/jssg_t ...

  5. MySQL||主键(primary key)及主键约束

    主键 主键(PRIMARY KEY)"的完整称呼是"主键约束".MySQL 主键约束是一个列或者列的组合,其值能唯一地标识表中的每一行.这样的一列或多列称为表的主键,通过 ...

  6. oracle建表语句设置主键,oracle 表添加主键 primary key

    根据数据库三范式就是每个表建议要有主键,每个字段不可再分,表与之间不存在部分依赖 数据库的优化首先考虑的也是主键 主键会在对应的字段加唯一约束.加not null,建 索引 怎么为表加主键呢 1,建表 ...

  7. mysql创建数据库时使用sql/wordbench使主键(primary key)自增

    sql `id` int(4) primary key not null auto_increment 例: CREATE TABLE `supplier_recommand`.`new_table` ...

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

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

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

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

最新文章

  1. LabVIEW实现PCB电路板坐标定位(实战篇—2)
  2. [code]代码格式1
  3. access 记录集 filter find属性_《另一个伊甸》超越时空的猫时之塔阵容推荐 时之塔BOSS属性怎么打_另一个伊甸...
  4. 给文本框添加模糊搜索功能(“我记录”MVC框架下实现)
  5. SBO中的manager用户已锁定
  6. VBSCRIPT的循环挺好理解的
  7. GAN能合成2k高清图了!还能手动改细节 | 论文+代码,英伟达出品
  8. 经典神经网络 -- DPN : 设计原理与pytorch实现
  9. opencv(10)图像变换之边缘检测
  10. android存储的自动清理,三星One UI(Android 9)自带清理功能:自动释放内存和存储空...
  11. 批处理修改网关和dns服务器,[转载]使用批处理自动修改IP地址网关和DNS
  12. Excel不能自动求和的可能原因
  13. 半岛电视台网络遭多次网络攻击
  14. 深入理解B/S与C/S架构
  15. 怎样调整好炒外汇心态
  16. android 扫码枪 字符数少掉,BarTender条码字符数莫名变少是怎么回事?
  17. Go语言学习之打印九九乘法表
  18. js中foreach有三种写法,你知道吗
  19. SRRC认证全面解析
  20. 戒烟戒的是“瘾”,EGP口含袋替烟产品尼古丁袋健康替烟

热门文章

  1. Python入门学习---第三天
  2. CentOS8下安装docker
  3. centOS安装python
  4. 【问链财经-区块链基础知识系列】 第二十七课 区块链与分布式账本的异同
  5. IOS下将文字转成图片方法
  6. php fpm listen.owner,php-fpm配置解释
  7. internal server error怎么解决_MAC中MySQL添加my.cnf和PID file解决方案
  8. JZOJ 5275. 水管
  9. 有线同步--ASP007
  10. oracle索引对模糊查询,Oracle索引