SQL 面试题 目录

什么是唯一约束 (UNIQUE Constraint)?

推荐答案

唯一约束(UNIQUE Constraint)是 SQL 中的一种约束,用于确保表中的某一列或一组列中的所有值都是唯一的。唯一约束可以防止在指定的列中插入重复的值,但允许该列包含 NULL 值(除非该列还定义了 NOT NULL 约束)。

本题详细解读

唯一约束的作用

唯一约束的主要作用是确保表中某一列或一组列的值是唯一的。它可以应用于单个列或多个列的组合。如果尝试插入或更新数据时违反了唯一约束,数据库将拒绝该操作并返回错误。

唯一约束与主键的区别

  • 唯一性:唯一约束和主键都确保数据的唯一性,但主键还要求列值不能为 NULL。
  • 数量限制:一个表只能有一个主键,但可以有多个唯一约束。
  • 用途:主键通常用于唯一标识表中的每一行,而唯一约束用于确保某些列的值不重复。

唯一约束的语法

在创建表时,可以使用以下语法定义唯一约束:

或者对多个列定义唯一约束:

唯一约束的示例

假设有一个 users 表,我们希望确保每个用户的电子邮件地址是唯一的:

在这个例子中,email 列被定义为唯一约束,因此不能插入具有相同电子邮件地址的两个用户。

修改表以添加唯一约束

如果表已经存在,可以使用 ALTER TABLE 语句添加唯一约束:

删除唯一约束

可以使用以下语法删除唯一约束:

唯一约束的注意事项

  • 唯一约束允许列中包含 NULL 值,但每个 NULL 值被视为唯一的值。因此,唯一约束列可以包含多个 NULL 值。
  • 如果唯一约束应用于多个列的组合,那么这些列的组合值必须是唯一的,但单个列的值可以重复。
纠错
反馈