SQL 面试题 目录

SQL 中什么是唯一索引 (Unique Index)?

推荐答案

唯一索引 (Unique Index) 是 SQL 中一种用于确保表中某一列或多列的值唯一的索引类型。它不仅可以加速查询,还能防止插入或更新操作导致重复数据的产生。

本题详细解读

1. 唯一索引的定义

唯一索引是一种数据库约束,用于确保表中某一列或多列的值在整个表中是唯一的。与普通索引不同,唯一索引不仅用于加速查询,还用于强制实施数据的唯一性。

2. 唯一索引的创建

在 SQL 中,可以通过以下语法创建唯一索引:

其中:

  • index_name 是索引的名称。
  • table_name 是表的名称。
  • column1, column2, ... 是要创建唯一索引的列。

3. 唯一索引的作用

  • 数据唯一性:唯一索引确保表中某一列或多列的值是唯一的,防止重复数据的插入或更新。
  • 查询优化:唯一索引可以加速查询操作,特别是在使用 WHERE 子句进行精确匹配时。

4. 唯一索引与主键的区别

  • 唯一性:主键和唯一索引都强制唯一性,但主键不允许 NULL 值,而唯一索引允许 NULL 值(但每个 NULL 值只能出现一次)。
  • 数量限制:一个表只能有一个主键,但可以有多个唯一索引。

5. 唯一索引的使用场景

  • 唯一标识:当需要确保某一列或多列的值在表中唯一时,可以使用唯一索引。
  • 数据完整性:在需要防止重复数据插入的场景中,唯一索引是一种有效的手段。

6. 示例

假设有一个 users 表,我们希望确保 email 列的值是唯一的,可以使用以下 SQL 语句创建唯一索引:

这样,任何尝试插入重复 email 值的操作都会失败。

7. 注意事项

  • 性能影响:虽然唯一索引可以加速查询,但在插入或更新数据时,数据库需要检查唯一性约束,可能会影响性能。
  • NULL 值处理:唯一索引允许 NULL 值,但每个 NULL 值只能出现一次。
纠错
反馈