主页 > 知识库 > Mysql主键和唯一键的区别点总结

Mysql主键和唯一键的区别点总结

热门标签:呼叫中心市场需求 AI电销 铁路电话系统 百度竞价排名 地方门户网站 Linux服务器 网站排名优化 服务外包

什么是主键?

主键是表中唯一标识该表中每个元组(行)的列。主键对表实施完整性约束。表中只允许使用一个主键。主键不接受任何重复值和空值。表中的主键值很少更改,因此在选择主键是需要小心,要选择很少发生更改的地方。一个表的主键可以被另一个表的外键引用。

为了更好地理解主键,我们创建一个名为Student的表,它具有roll_number、name、batch、phone_number、citizen_id等属性。

在上面的示例中,roll_number属性永远不能具有相同的NULL值,因为在每个大学中注册的学生都拥有唯一的Roll_number,因此两个学生不能拥有相同的Roll_number,并且表中的每一行都可以用学生的roll_number属性作为唯一标识。因此,在这种情况下,我们可以将Roll_number属性作为主键。

什么是唯一键?

唯一键约束可以唯一地标识关系或表中的单个元组。与主键不同,一个表可以有多个唯一键。唯一键约束只能接受列的一个空值;唯一约束也由另一个表的外键引用。当有人想对非主键的列和列组实施唯一约束时,可以使用它。

为了更好地理解唯一键,我们使用带有Roll_number,Name,Batch,Phone_number和Citizen_ID属性的Student表;其中Roll_number属性已经给主键。

在这个示例中,可以为Citizen_ID分配唯一约束,其中Citizen_ID列中的每个条目都应该是唯一的,而不是重复的,因为一个国家/地区的每个公民都必须拥有其唯一标识号。但是,如果学生从其他国家迁移,在这种情况下,他或她将不具有Citizen_ID,并且该条目可能具有NULL值,因为在唯一约束中允许一个NULL。

主键和唯一键之间的主要区别:

1、当一个属性声明为主键时,它将不接受NULL值。另一方面,当声明为Unique的属性时,它可以接受一个NULL值。

2、表中只能有一个主键,但可以有多个唯一键。

3、定义主键时自动创建聚簇索引。相反,Unique键生成非聚集索引。

以上就是关于Mysql主键和唯一键的区别的全部内容,感谢大家对脚本之家的支持。

您可能感兴趣的文章:
  • 浅谈MySQL中的自增主键用完了怎么办
  • MySQL的自增ID(主键) 用完了的解决方法
  • 深入分析mysql为什么不推荐使用uuid或者雪花id作为主键
  • 详解MySQL 表中非主键列溢出情况监控
  • 使用prometheus统计MySQL自增主键的剩余可用百分比
  • Python3 操作 MySQL 插入一条数据并返回主键 id的实例
  • mysql非主键自增长用法实例分析
  • MySQL中主键与rowid的使用陷阱总结
  • spring boot整合mybatis利用Mysql实现主键UUID的方法
  • MySQL的主键命名策略相关

标签:兰州 衡水 仙桃 铜川 湖南 湘潭 崇左 黄山

巨人网络通讯声明:本文标题《Mysql主键和唯一键的区别点总结》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266