什么是主键?

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

为了更好地理解主键,我们创建一个名为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主键和唯一键的区别点总结相关推荐

  1. mysql中外键总结_mysql外键的一些总结

    外键作用:①可以让数据表不至于太过冗余: ②可以保持数据的一致性(当主表不存在对于的外键时,从表进行的增删操作无效): ③让数据库自动控制插入数据的合法性 外键规则:① 主键和外键数据类型需系统并且为 ...

  2. 史上最简单的 MySQL 教程(十二)「列属性 之 唯一键」

    史上最简单的 MySQL 教程(十二)「列属性 之 唯一键」 唯一键 唯一键:每张表往往有多个字段需要具有唯一性,数据不能重复,但是在每张表中,只能有一个主键,因此唯一键就是用来解决表中多个字段需要具 ...

  3. mysql主键索引_mysql主键与索引

    一.概念: 1.主键(primary key)能够唯一标识表中某一行的属性或属性组.一个表只能有一个主键,但可以有多个候选索引.主键常常与外键构成参照完整性约束,防止出现数据不一致.主键可以保证记录的 ...

  4. mysql 主键类型_MySQL 主键类型的考量

    作为一个微服务的开发者, 通常都要自己来负责数据库表的创建.一个常见的问题是, 如何定义主键的类型? 通常我们会有两种做法. 1)主键选长整型, 并且自增的. 2)主键选择UUID类型.对于Mysql ...

  5. mysql中的主键关键字_MySQL主键(PRIMARY KEY)

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

  6. mysql 主键理解_MySQL主键的理解

    MySQL主键的理解 主键(primary key)没有着明确的概念定义,其是索引的一种,并且是唯一性索引的一种,且必须定义为"PRIMARY KEY",主键不能重复,一个表只能有 ...

  7. mysql 主键作用_mysql主键有什么用?

    创建一个表,创建主键是个良好的习惯或应当作为规范,若预测可能累计大量数据,必须设置主键,并且应当选择合适的主键,否则你会严重影响到count查询,insert,delete.下面本篇文章就来给大家介绍 ...

  8. mysql主主同步冲突_MySQL主主同步主键冲突处理

    两台数据库都报slave同步失败了,先说明一下环境,架构:lvs+keepalived+amoeba+mysql,主主复制,单台写入, 主1:192.168.0.223(写) 主2:192.168.0 ...

  9. mysql 主主 主从 区别_mysql主从 主主

    mysql设置主从,主主的区别主要在于my.conf的配置: 主从的话只需要在 1)主my.conf上定义一个server-id, binlong的路径,需要同步的db(空着默认等于同步所有db),需 ...

最新文章

  1. r语言手动算两个C指数p值,如何用R语言进行Pvalue显著性标记?
  2. 机器学习(MACHINE LEARNING)MATLAB中微分方程的求解
  3. dns tunnel CC
  4. 人工智能时代将至,教育或将发生大改变,未来教育会人工智能化?
  5. Quartz教程二:API,Job和Trigger
  6. java判断一个数是不是质数(素数)
  7. oracle的to_char中的fm
  8. java注解执行顺序_如何确保java中的注释执行顺序?
  9. 模拟登录新浪微博(Python)
  10. 默认情况下在MongoDB Shell中漂亮打印
  11. 高一数学计算机教材,高一数学的教学计划
  12. 第三章 平稳时间序列模型
  13. php 图片上加文字,PHP实现在图片中添加中文文字
  14. win10红警2黑屏_Windows10黑屏常见情况及解决办法
  15. win7软件图标异常解决
  16. 一种文件捆绑型病毒研究
  17. 针对移动式和无线物联网设备的低压电机控制系统的设计
  18. 夏雨老师:告诉你常见颜色对人心理上的影响
  19. Word2016替换文字方法
  20. 阿里云服务器入门基础教程汇总(新手)

热门文章

  1. RSA--维纳攻击--代码和题目分析
  2. 获取铁矿石和螺纹钢期货数据。对收益率序列进行描述性统计、jb检验,反正是否符合分形市场假说。计算Hurst指数,制定跨品种套利策略,并进行回测,对跨品种套利效果进行评估。寻求改进空间。
  3. 【狂神说Java】JavaWeb入门到实战---笔记
  4. 分子生物学课本PDF下载链接
  5. 与设备无关的I/O软件
  6. C++ Primer Plus习题及答案-第二章
  7. 音乐下载/音乐格式转换 彻底帮你解决听歌的烦恼
  8. (附源码)springboot仓库管理系统的开发毕业设计260931
  9. R语言高清图片输出设置
  10. 信号测试点的选择与信号质量的评估