📜  唯一键 - SQL (1)

📅  最后修改于: 2023-12-03 14:50:44.469000             🧑  作者: Mango

唯一键 - SQL

在 SQL 中,唯一键是指一列或多列,其值唯一地标识了表中的每一行。唯一键用于确保表中的数据不包含重复行。在定义唯一键的列或列组合时,可以使用 UNIQUE 约束或 PRIMARY KEY 约束。

1. 唯一键与 UNIQUE 约束

使用 UNIQUE 约束可以定义唯一键,此时该列或列组合的值不能重复。

示例:

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) UNIQUE,
    password VARCHAR(100)
);

上面的示例中,唯一键为 username 列,该列的值不能重复。使用 UNIQUE 约束时,多个唯一键之间不会有任何关系。

2. 唯一键与 PRIMARY KEY 约束

使用 PRIMARY KEY 约束也可以定义唯一键,此时该列或列组合的值不能重复,并且该列或列组合还会作为表的主键。

示例:

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50),
    password VARCHAR(100),
    UNIQUE (username)
);

上面的示例中,唯一键为 username 列,该列的值不能重复,并且该列还是表的主键。

3. 唯一键的注意事项
  • 一张表只能有一个主键,但可以有多个唯一键。
  • 在添加唯一键时,如果表中已经存在重复数据,添加唯一键会失败。
  • 在使用 UNIQUE 约束时,为空值也被视为一种值,因此只能在列中定义一个 NULL 值。
4. 总结

唯一键常用于确保表中的数据不包含重复行,可以使用 UNIQUE 约束或 PRIMARY KEY 约束定义唯一键。在添加唯一键时,需要注意多个唯一键之间的关系以及空值的问题。