在 MySQL 中,定义一个主键约束意味着该字段将成为唯一标识表中每一行的主键。主键是表中的一个或多个列,其值用来确保在数据库表中每一行的唯一性。在 MySQL 中,有两种方式添加主键约束:
方式一:在创建表的时候指定主键约束
在创建表的时候就可以指定主键约束,这样一来,就可以创建一个新的表,主键约束会自动添加到该表中。
步骤如下:
1. 在命令行终端输入以下命令,创建一个新的表。
CREATE TABLE MyTable
(
Id INT,
Data VARCHAR(255),
PRIMARY KEY (Id)
);
上面的命令会创建一个名为 MyTable 的新表,并将列 Id 指定为主键约束。在这个例子中,MyTable 包含两个列:一个名为 Id 的整数列和一个名为 Data 的字符串列。
2. 可以通过 DESC 命令查看新创建的表的结构:
DESC MyTable;
输出结果类似于:
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| Id | int(11) | YES | PRI | NULL | |
| Data | varchar | YES | | NULL | |
+-------+---------+------+-----+---------+-------+
可以看到,列 Id 被指定为 PRIMARY KEY。
方式二:使用 ALTER TABLE 添加主键约束
如果表已经存在,也可以使用 ALTER TABLE 语句添加主键约束。ALTER TABLE 语句用于更改现有表的结构,例如添加或删除列、重命名表或更改列的数据类型等。
步骤如下:
1. 在命令行终端输入以下命令,将列 Id 指定为主键:
ALTER TABLE MyTable
ADD PRIMARY KEY (Id);
上面的命令将列 Id 指定为主键,并将主键约束添加到 MyTable 中。
2. 使用 DESC 命令查看新的表结构:
DESC MyTable;
输出结果类似于以下格式:
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| Id | int(11) | YES | PRI | NULL | |
| Data | varchar | YES | | NULL | |
+-------+---------+------+-----+---------+-------+
可以看到,列 Id 现在被标记为 PRIMARY KEY。
总结
添加主键约束可以确保每一行在表中都是唯一的。在 MySQL 中,可以使用两种方式来添加主键约束:在创建表的时候指定主键约束或者使用 ALTER TABLE 语句添加主键约束。