关系型数据库中,一张表中的每一行数据被称为一条记录,一条记录就是由多个字段组成的
数据表中记录的约束:任意两条记录不能重复
不能重复不是指完全不相同,只要主键不同即可,其他字段可以相同
例如:假设将姓名作为主键,那么任意两台记录只需名字不同即可,其他什么字段身高、性别……可以相同
主键定义:唯一定位记录的字段
一旦插入表中最好不要修改
不能选择任何业务相关的字段作为主键
手机号、邮箱、身份证号……这都是和业务相关的,会改变的,例如身份证号升位了则主键就要修改了,会对业务产生巨大影响
实际应用中大部分字段都不适合作为主键,一般采用id
自增整数类型:数据库会在插入数据时自动为每一条记录分配一个自增整数(常用)全局唯一GUID类型:使用一种全局唯一的字符串作为主键GUID算法通过网卡MAC地址、实践戳和随机数保证计算机任意实践内生成的字符串都是不同的,大部分编程语言都内置了GUID算法,可以预先生成主键
自增整数类型
BIGINT NOT NULL AUTO_INCREMENT多个字段联合标识唯一记录(多个字段作为主键)
对于联合主键,允许一列有重复,只要不是所以主键都重复即可
没有必要情况。不要使用联合主键,因为它给关系表带来了更大的复杂度