MySQL Primary Key17 Mar 2025 | 4 分钟阅读 MySQL 主键是用于**唯一**标识表中每个记录的一个或多个字段的组合。如果列包含主键约束,则它不能为**NULL 或空**。一个表可以有重复的列,但只能包含一个主键。它始终包含列中的唯一值。 当您向表中插入新行时,主键列还可以使用 **AUTO_INCREMENT** 属性为该行自动生成一个序列号。 MySQL 在表中定义主键后会自动创建一个名为“**Primary**”的索引。由于它关联了索引,因此我们可以说主键可以加快查询性能。 主键规则以下是主键的规则
我们可以通过两种方式创建主键
让我们逐一详细讨论。 使用 CREATE TABLE 语句创建主键在本节中,我们将介绍如何使用 CREATE TABLE 语句创建主键。 语法 以下是在 MySQL 中创建主键的语法。 如果要创建的表只有一个主键列,请使用以下语法 如果要创建的表有多个主键列,请使用以下语法 参数解释下表详细解释了参数。
主键示例以下示例说明了 MySQL 中主键的用法。 此语句创建一个名为“**Login**”的表,其“**login_id**”列包含主键 接下来,使用 insert 查询将数据存储到表中 输出 在下面的输出中,我们可以看到第一个 insert 查询成功执行。而第二个 insert 语句失败并报错:主键列重复条目。 ![]() 如果要定义**多个列**上的主键,请使用以下查询 在输出中,我们可以看到主键值包含两列,分别是**Student_ID**和**Roll_No**。 ![]() 使用 ALTER TABLE 语句创建主键此语句允许我们对现有表进行修改。当表没有主键时,此语句用于将主键添加到现有表的列中。 语法 以下是在 MySQL 中创建主键的 ALTER TABLE 语句的语法 示例以下语句创建了一个名为“**Persons**”的表,该表在表定义中没有主键列。 创建表后,如果要向该表添加主键,则需要执行以下 ALTER TABLE 语句 我们可以看到输出,其中两个语句都成功执行。 ![]() 如果表需要在已包含数据的列中添加主键,那么必须确保该列不包含重复值或 NULL 值。 删除主键ALTER TABLE 语句还允许我们从表中删除主键。以下语法用于删除主键 示例 主键与唯一键以下比较图表解释了它们之间的一些常见区别
下一主题MySQL 外键 |
我们请求您订阅我们的新闻通讯以获取最新更新。