MySQL中的主键约束和唯一性约束区别

主键约束 primary key

主键约束时唯一的表示表中的每一条记录
主键列上不存在重复的值
主键可做外键   

唯一性约束 unique

一个表上可以放置多个唯一性约束
表中任意的两行 指定列 都不允许有相同的值  允许空(null)

相同点
他们都属于实体完整性约束

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

其中的聚簇索引 不是一种索引类型 而是一种数据存储方式
其中InnoDB主键适用聚簇索引

    被索引的列必须是主键列  只有主键才能适用  一张表只有一个聚簇索引

非主键适用 辅助索引 二次索引

MyISAM存储引擎 主键 非主键 非聚簇索引

	其中不是直接保存数据  而是数据的地址(指针) 唯一的区别就是主索引要求key是唯一的  而辅助索引的key可以重复

数据库的完整性

  • 正确性
  • 相容性
  • 维护完整性

实体完整性
参照完整性
用户自定义完整性

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值