在 MySQL 中,主键(Primary Key)是用于唯一标识表中每一行的字段。通常,主键字段会设置为 NOT NULL、UNIQUE 和 AUTO_INCREMENT。以下是一些与 MySQL 主键相关的常见语句和命令:
1. 创建主键(Primary Key)
-- 创建表并设置主键
CREATE TABLE example (
id INT PRIMARY KEY,
name VARCHAR(100)
);
PRIMARY KEY: 指定该字段为主键。NOT NULL: 该字段不能为空。AUTO_INCREMENT: 自动递增(通常用于自增主键)。
2. 修改表结构,添加主键
ALTER TABLE table_name
ADD PRIMARY KEY (column_name);
ADD PRIMARY KEY: 添加主键约束。column_name: 要设置为主键的列名。
3. 删除主键(慎用,可能导致数据丢失)
ALTER TABLE table_name
DROP PRIMARY KEY;
DROP PRIMARY KEY: 删除主键约束。
4. 检查表是否有主键
SHOW CREATE TABLE table_name;
- 会显示表的创建语句,包括主键信息。
5. 查看表中所有主键
DESCRIBE table_name;
DESCRIBE会显示表的字段信息,包括主键字段。
6. 主键字段的命名规范
- 主键字段通常命名为
id、pk、primary_key等。 - 建议使用
id作为主键字段名,这是最常见和推荐的命名方式。
7. 主键的唯一性
- 主键字段必须是 唯一 的,不能有重复值。
- 主键字段可以是
INT、VARCHAR、DATETIME等类型。
8. 主键与唯一索引的区别
- 主键 是一种特殊的 唯一索引。
- 主键字段必须是 非空 的,而唯一索引可以是空的。
9. 主键的自动递增(AUTO_INCREMENT)
-- 创建表并设置自增主键
CREATE TABLE example (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100)
);
AUTO_INCREMENT:自动递增,通常用于自增主键。
10. 主键的约束类型
PRIMARY KEY: 主键约束。UNIQUE: 唯一索引,不一定是主键。FOREIGN KEY: 外键约束。
总结
| 命令/语句 | 功能 |
|---|---|
CREATE TABLE ... PRIMARY KEY |
创建表并设置主键 |
ALTER TABLE ... ADD PRIMARY KEY |
添加主键 |
SHOW CREATE TABLE |
查看表创建语句 |
DESCRIBE table_name |
查看表字段信息 |
AUTO_INCREMENT |
自动递增主键 |
如需进一步帮助,比如如何在 Shell 脚本中操作 MySQL,或者如何在 Linux 环境下管理数据库,也可以告诉我!
