在 MySQL 中创建主键索引,可以通过定义表结构时指定主键字段,数据库会自动为其创建主键索引(PRIMARY KEY INDEX)。主键具有唯一性和非空性,常用于标识表中的每一行数据。
1. 创建表时定义主键
在 CREATE TABLE 语句中使用 PRIMARY KEY 关键字来创建主键索引。
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
email VARCHAR(100)
);
上述语句中,id 字段被设为主键,MySQL 会自动为其创建名为 PRIMARY 的索引,并启用自增属性。
2. 修改已有表添加主键
如果表已经存在但没有主键,可以使用 ALTER TABLE 添加主键索引。
ALTER TABLE users ADD PRIMARY KEY (id);
注意:添加主键前,确保该字段没有重复值且不包含 NULL。
3. 删除主键
若需删除主键(例如更换主键字段),可执行:
ALTER TABLE users DROP PRIMARY KEY;
如果主键字段有 AUTO_INCREMENT 属性,可能需要先移除该属性或先删除索引。
4. 复合主键(多字段主键)
有时需要多个字段共同作为主键,例如关联表:
CREATE TABLE orders_products (
order_id INT,
product_id INT,
quantity INT,
PRIMARY KEY (order_id, product_id)
);
此时,order_id 和 product_id 的组合必须唯一,MySQL 会为这个组合创建主键索引。
基本上就这些。主键索引是表设计的基础,合理设置能提升查询效率并保证数据完整性。
