SQL PRIMARY KEY 学习笔记

什么是PRIMARY KEY?

在SQL中,每张表都应该有一个或多个可以唯一标识每个记录的字段。这个字段就被称为“主键”(PRIMARY KEY)。主键也可以用来建立表与表之间的关系。对于同一张表而言,每一条记录的主键都必须是唯一的,且不能为空值。

如何定义PRIMARY KEY?

在创建表时,我们可以在其中一个字段后面加上“PRIMARY KEY”关键字来定义主键。例如:

Copy Code
CREATE TABLE students ( id INT PRIMARY KEY, name VARCHAR(50), age INT );

这里,我们定义了一个名为“students”的表,其中有三个列:id、name和age。其中,id是主键。

注意,不同的数据库系统对主键的定义有所不同。在某些数据库系统中,主键可以跨越多个字段;在其他系统中,主键可以包括空值,虽然这不是通常情况下的最佳实践。

主键的作用

1. 确保数据的唯一性

主键可以确保每个记录都是唯一的,因为它们必须包含唯一的值。例如,在我们的示例“students”表中,id字段是主键,这意味着每个学生都有一个唯一的ID号。

2. 提高数据检索效率

主键还可以帮助提高数据检索效率。在SQL中,如果你知道主键的值,那么你可以通过主键查找数据行的速度会非常快,因为数据库系统会使用主键来建立索引。

示例

假设我们有一个名为“employees”的表,它包含以下字段:id、name、age和department。

Copy Code
CREATE TABLE employees ( id INT PRIMARY KEY, name VARCHAR(50), age INT, department VARCHAR(50) );

在这个表中,我们将“id”字段定义为主键。这意味着每个员工都有一个唯一的ID号,我们可以使用这个ID号来快速查找和修改员工记录。

例如,如果我们想查找ID为1001的员工的信息,我们可以使用以下SQL语句:

Copy Code
SELECT * FROM employees WHERE id = 1001;

这个查询会只返回ID为1001的员工的信息,而不会返回其他员工的信息。这是因为我们使用了主键来进行查询,这会让查询效率更高。