SQL PRIMARY KEY2025年8月2日 | 阅读7分钟 在 SQL 中,PRIMARY KEY(主键)是唯一标识表中每一行的列。它充当表中的主要标识符,并确保每一行都包含不同的值。两行的值不能相同。它有助于防止表中出现重复和 NULL 条目。它还有助于保持数据的连贯性、准确性和完整性。 ![]() 此键包含唯一值,不应包含 NULL 值。在一个表中,只能有一个主键。主键可以为一个列或多个组合列创建。 SQL PRIMARY KEY 的属性
应用 SQL PRIMARY KEY 有多种语法 语法 1:用于在一列上应用 PRIMARY KEY 约束参数CREATE TABLE: 通过此命令,我们创建一个新表。 TableName: 在表名处,我们分配实际的表名。 column1, column2: 在此处,我们提供列名以在行中存储数据。 datatype: 在此处,我们定义列将持有的数据类型。 PRIMARY KEY: 主键确保列值必须是 UNIQUE(唯一)且 NOT NULL(非空)。 语法 2:用于应用带名称的 PRIMARY KEY 约束参数CONSTRAINT: 这是一个 SQL 关键字,用于在列上应用限制。 pk_constraint_name: 这是主键约束的自定义名称。 column_name: 这是应用主键约束的列名。 语法 2 的所有其他参数与我们上面已经讨论过的语法 1 类似。 语法 3:用于在多个列上应用 PRIMARY KEY 约束参数语法 3 的所有参数与语法 2 完全相同,但唯一的区别是多个列将在 PRIMARY KEY 关键字后面的括号内列出。 PRIMARY KEY 示例为了更好地解释 PRIMARY KEY,我们使用了以下示例。 示例 1步骤 1创建一个名为 Universities 的表并向其中插入数据。 创建“Universities”表向“Universities”插入数据显示表的查询输出
步骤 2创建 Students 表并向其中插入数据。 创建“Students”表向“Students”插入数据显示表的查询输出
步骤 3使用主键合并表的查询。 输出
说明在上面的示例中,我们使用了两个表,名为 Universities 和 Students。我们使用 UniversityID 作为主键,它用于连接学生表,其中每个学生通过相同的 UniversityID 连接到大学,我们可以通过该 ID 从两个表中检索信息。 示例 2在此示例中,我们将使用 WHERE 和 ORDER BY 子句通过主键合并表。 步骤 1创建 Movies 表并向其中插入数据。 创建“Movies”表向“Movies”插入数据显示表的查询输出
步骤 2创建 Actors 表并向其中插入数据。 创建“Actors”表向“Actors”插入数据显示表的查询输出
步骤 3使用 WHERE 子句和 ORDER BY 子句通过主键合并表的查询。 输出
说明在上面的示例中,我们使用 movie ID 作为 主键,在 Actors 和 Movies 表之间执行了内连接。在此 SELECT 语句中,我们选择了特定的列,并使用别名重命名列以提高可读性。它使用 WHERE 子句检索 1998 年之后发布的电影,并使用 ORDER BY 子句对它们进行排序。 ALTER TABLE 上的 SQL 主键当一个表已经被构建,而我们想在该表上应用 PRIMARY KEY 约束时,我们可以使用 ALTER TABLE 语句。 我们可以使用给定的语法在现有表上应用主键约束。 单列主键多列主键注意:当您使用 ALTER TABLE 语句添加主键时,主键列在表首次创建时不能包含 NULL 值。如何删除 PRIMARY KEY 约束?如果您想 DROP(删除)主键约束,您应该使用以下语法 MySQL/ MariaDB SQL Server/ Oracle/ MS Access 主键需要记住的要点
结论SQL PRIMARY KEY 是表中的列,它唯一标识每一行,并且不允许 NULL 值。一个表只有一个主键,它可以由一个列或多个列组成。如果一个键包含多个列,那么我们称之为 复合键。主键通过使用外键建立表之间的关系。 如果您想在现有表上应用主键,那么您可以借助 ALTER TABLE 来完成。如果您需要从表中删除主键,那么您可以使用 DROP 关键字。 常见问题解答 (FAQs)1. 主键的主要目的是什么? 主键的主要目的是在表中的每个记录中拥有一个 UNIQUE(唯一)且 NOT NULL(非空)的值。 2. 一个表可以存在多少个主键? 一个表只能有一个主键,它可以应用于单个列或多个列。 3. 唯一键和主键之间有什么区别?
4. SQL 中的复合主键是什么? 复合主键是 SQL 约束之一,它应用于多个列的组合。 5. 主键可以更改或更新吗? 是的,主键可以更新。ALTER TABLE 命令用于更新表的主键。 下一个主题SQL Foreign Key |
我们请求您订阅我们的新闻通讯以获取最新更新。