SQL 面试题 目录

什么是主键 (Primary Key)?

推荐答案

主键(Primary Key)是数据库表中用于唯一标识每一行记录的字段或字段组合。它具有以下特性:

  1. 唯一性:主键的值必须是唯一的,不能有重复。
  2. 非空性:主键的值不能为 NULL,必须始终包含一个值。
  3. 不可变性:主键的值一旦设定,通常不应被修改。

主键的作用是确保表中的每一行数据都可以被唯一标识,从而避免数据冗余和数据不一致的问题。

本题详细解读

1. 主键的定义

主键是数据库表中的一个或多个字段的组合,用于唯一标识表中的每一行数据。它可以是单个字段,也可以是多个字段的组合(称为复合主键)。

2. 主键的特性

  • 唯一性:主键的值在表中必须是唯一的,不能有两行具有相同的主键值。
  • 非空性:主键字段不能包含 NULL 值,必须始终有一个明确的值。
  • 不可变性:主键的值一旦设定,通常不应被修改,以确保数据的完整性。

3. 主键的作用

  • 数据唯一性:主键确保表中的每一行数据都可以被唯一标识,避免数据重复。
  • 数据完整性:通过主键约束,数据库可以防止插入重复数据或无效数据。
  • 提高查询效率:主键通常会自动创建索引,从而加快查询速度。

4. 主键的类型

  • 单字段主键:使用表中的单个字段作为主键。
  • 复合主键:使用表中的多个字段组合作为主键。

5. 主键的创建

在 SQL 中,可以通过以下方式创建主键:

或者使用复合主键:

6. 主键与唯一键的区别

  • 主键:不允许 NULL 值,且每个表只能有一个主键。
  • 唯一键:允许 NULL 值,且每个表可以有多个唯一键。

7. 主键的选择

选择主键时,应考虑以下因素:

  • 稳定性:主键的值应尽量稳定,避免频繁更改。
  • 简洁性:主键应尽量简洁,避免使用过长的字段或复杂的组合。
  • 业务相关性:主键应尽量与业务逻辑相关,便于理解和维护。
纠错
反馈