mysql数据库 主键 键值 设置自增长
- 主键(primary key)又称主码,用于唯一标识表中的每一条记录
- 可以定义表中的一列或多列为主键,主键列上不能有相同的两行值,也不能为空值。
定义authors表,该表给每一个作者分配一个”作者标号“,改编号作为数据表的主键,如果出现相同的值,将提示错误,系统不能确定查询的究竟是哪一条记录。如果把作者的姓名作为主键,则不能出现重复的名字,这与现实不符,因此姓名字段不适合作为主键。
1. 使用主键约束
- 主键约束(primary key constraint)要求主键列的数据唯一,并且不允许为空。
- 主键能够唯一的标识表中的一条记录,可以结合外键来定义不同数据表之间的关系,并且可以加快数据库查询的速度,
- 主键和记录之间的关系,如同身份证和人之间的关系,他们之间是一一对应的
- 主键分为两种类型
- 单字段主键
- 多字段联合主键
- 注意事项:
-
一个表中只能有一个primary key字段
-
对应的字段值不能重复且不能为NULL
-
如果由多个字段都作为primary key,称为复合主键,必须一起创建
-
主键字段的key标志是PRI
-
通常与auto_increment连用
-
经常把表中能够唯一标识的字段作为主键(记录编号字段)
-
1.1 单字段主键
单字段主键由一个字段组成,SQL语句格式分为以下两种情况
(1)在定义列的同时指定主键,语法:
字段名 数据类型 PRIMARY KEY [默认值]
Example:
-
定义数据表tb_emp2,其主键为id,SQL语句如下:
mysql> create table tb_emp2( -> id int(11) primary key, -> name varchar(25), -> deptid int(11), -> salary float -> );
-
定义数据表tb_emp3