在mysql中,用来定义主键的关键字是primary key。主键的作用是唯一确定表中的一条记录,它的值必须唯一且不能为空。无论是新建表还是修改已有表,我们都是通过primary key这个关键字来指定主键字段的。

一、建表时使用primary key
在创建数据表时,可以在字段定义后直接写上primary key,也可以在表级约束中统一声明。下面给出两个常见写法。
1. 列级约束写法
CREATE TABLE user (
id INT NOT NULL PRIMARY KEY,
name VARCHAR(50)
);
2. 表级约束写法
CREATE TABLE order_info (
order_id INT NOT NULL,
user_id INT NOT NULL,
PRIMARY KEY (order_id, user_id)
);
第二种写法演示了复合主键,也就是用order_id和user_id两个字段组合起来作为主键,这在某些业务表里很常见。
二、已有表添加主键
如果表已经存在但忘记设主键,可以用ALTER TABLE语句配合primary key关键字来补加。
ALTER TABLE product ADD PRIMARY KEY (product_id);
三、查看和删除主键
使用SHOW CREATE TABLE可以看出现在的主键定义。若想去掉主键,用下面的语句:
ALTER TABLE product DROP PRIMARY KEY;
四、使用主键的注意点
- 主键字段不建议使用易变的数据,比如用户名,优先用自增id更稳妥。
- 一张表只能有一个主键,但主键可以由多列组成。
- 主键自动会创建唯一索引,所以不要在主键列上再建重复的唯一索引。
简单说,mysql中主键的关键字就是primary key,记住这个关键字并理解它的约束规则,表设计就清晰多了。
五、用代码查看表结构示例
在命令行或客户端执行如下语句,能确认主键是否生效:
DESCRIBE user;
输出里Key列显示为PRI的就代表该列是主键字段。掌握primary key关键字,是学习mysql数据库最基本的一步。
mysqlprimary_key数据库设计修改时间:2026-07-27 20:45:15