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

作者:laozhang 时间:2024-01-15 10:36:36 

什么是主键?

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

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

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

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

什么是唯一键?

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

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

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

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

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

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

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

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

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

标签:Mysql,主键,唯一键
0
投稿

猜你喜欢

  • Js的MessageBox

    2008-05-16 10:25:00
  • python可视化分析绘制带趋势线的散点图和边缘直方图

    2023-08-16 04:10:10
  • Python+matplotlib实现折线图的美化

    2023-09-05 20:03:18
  • 关于程序员生活的一份调查,看看你属于哪一个群体吧

    2022-08-11 16:00:48
  • Python项目打包成二进制的方法

    2023-11-07 05:22:02
  • 利用Python中的内置open函数读取二进制文件

    2022-02-26 21:00:47
  • Springboot项目对数据库用户名密码实现加密过程解析

    2024-01-19 23:02:04
  • babel的使用及安装配置教程

    2024-04-19 10:26:11
  • Vue3中简单实现动态添加路由

    2023-07-02 16:58:45
  • 破解加密的网页代码方法

    2010-03-16 12:35:00
  • Python局部变量与全局变量区别原理解析

    2021-06-18 01:50:05
  • python+adb+monkey实现Rom稳定性测试详解

    2023-02-06 07:46:00
  • GoLang使goroutine停止的五种方法实例

    2023-09-02 08:31:33
  • 快速解决Golang Map 并发读写安全的问题

    2024-04-30 10:03:46
  • keras打印loss对权重的导数方式

    2023-05-17 18:21:11
  • python实现简单登陆流程的方法

    2021-01-30 00:48:24
  • Python关于抽奖系统的思考与设计思路

    2022-06-09 12:53:36
  • Mysql中文乱码问题的最佳解决方法

    2024-01-21 11:11:50
  • Python实现基于TCP UDP协议的IPv4 IPv6模式客户端和服务端功能示例

    2023-07-07 21:08:18
  • 运筹学-Python实现图论与最短距离

    2022-10-24 05:58:59
  • asp之家 网络编程 m.aspxhome.com