MySQL的主键约束详解


主键约束

主键约束是关系型数据库中用于唯一标识表中每行数据的规则,通过定义主键字段确保数据的唯一性和非空性,其核心功能是保障表的实体完整性。一张表最多只有一个主键字段,主键字段的值不能重复且不允许有空值。

自增主键是MySQL中一种特殊的字段属性,通常与主键结合使用。定义为auto_increment​​的字段,在插入新记录时如果没有指定字段值,MySQL会自动为该字段生成一个唯一且递增的整数值。在数据表中使用整型字段做主键可以减小索引文件长度并提高查询效率。

命令详解

约束的查看

  • desc 数据表名;

约束的创建

1、创建表时为字段添加主键约束。

  • create table 数据表名(字段名 类型 [auto_increment] primary key,...);
  • create table 数据表名(字段名 类型 [auto_increment],...,primary key(主键字段));

2、修改表,为字段添加主键约束。

  • alter table 数据表名 add primary key(主键字段);

约束的删除

  • alter table 数据表名 drop primary key;

使用示例

约束的查看

1、desc 数据表名:查看表格结构,主键字段使用PRI标识。若是自增主键,会在Extra字段显示关键词auto_increment。

mysql

约束的创建

1、主键约束可以在任意字段上创建,只需字段值唯一且不为空。

1.1、create table 数据表名(字段名 类型 primary key,...):创建表并使用primary key创建字段约束。

mysql

1.2、create table 数据表名(字段名 类型,...,primary key(主键字段)):创建表并使用primary key子句创建主键约束。

mysql

1.3、alter table 数据表名 add primary key(主键字段):修改数据表,为数据表添加主键约束。若表中已存在主键,需先删除已有主键后再添加。

mysql

2、将primary key与字段的auto_increment属性联合使用指定字段为自增主键,auto_increment属性只能用于int、bigint等整型字段且必须与primary key联合使用。

2.1、create table 数据表名(字段名 类型 auto_increment primary key,...):创建表并联合使用primary key与自增属性auto_increment指定字段为自增主键。

mysql

2.2、create table 数据表名(字段名 类型 auto_increment,...,primary key(主键字段)):创建表并使用auto_increment指定字段自增,再使用primary key子句创建主键约束。

mysql

约束的删除

1、alter table 数据表名 drop primary key:修改数据表,删除数据表中的主键约束。自增主键删除时必须整个字段删除,因为auto_increment不能脱离primary key单独存在。

mysql

发表评论

评论数量:0