SQL教程(二):主键

SQL教程(二):主键_第1张图片

文章目录

  • 主键
    • 【1】主键选取原则
    • 【2】ID主键
    • 【3】联合主键

主键

关系型数据库中,一张表中的每一行数据被称为一条记录,一条记录就是由多个字段组成的

数据表中记录的约束任意两条记录不能重复

不能重复不是指完全不相同,只要主键不同即可,其他字段可以相同

例如:假设将姓名作为主键,那么任意两台记录只需名字不同即可,其他什么字段身高、性别……可以相同

主键定义唯一定位记录的字段

一旦插入表中最好不要修改


【1】主键选取原则

不能选择任何业务相关的字段作为主键

手机号、邮箱、身份证号……这都是和业务相关的,会改变的,例如身份证号升位了则主键就要修改了,会对业务产生巨大影响


【2】ID主键

实际应用中大部分字段都不适合作为主键,一般采用id

  • 自增整数类型:数据库会在插入数据时自动为每一条记录分配一个自增整数(常用
  • 全局唯一GUID类型:使用一种全局唯一的字符串作为主键

GUID算法通过网卡MAC地址、实践戳和随机数保证计算机任意实践内生成的字符串都是不同的,大部分编程语言都内置了GUID算法,可以预先生成主键

自增整数类型

BIGINT NOT NULL AUTO_INCREMENT

【3】联合主键

多个字段联合标识唯一记录(多个字段作为主键)

SQL教程(二):主键_第2张图片
对于联合主键,允许一列有重复,只要不是所以主键都重复即可

没有必要情况。不要使用联合主键,因为它给关系表带来了更大的复杂度

你可能感兴趣的:(SQL)