教程 mariadb tutorial

主键与唯一约束

1. 主键(PRIMARY KEY)

  • 唯一标识表中的每一条记录。
  • 不能包含 NULL 值。
  • 一个表只能有一个主键,可以是单列或多列组合。

创建表时定义主键

sql
CREATE TABLE users (
  id INT PRIMARY KEY,
  username VARCHAR(50)
);

`

修改表添加主键

sql
ALTER TABLE users
ADD PRIMARY KEY (id);

2. 唯一约束(UNIQUE)

  • 确保字段值唯一,但允许 NULL(根据配置,有时允许多个 NULL)。
  • 一个表可以有多个唯一约束。

创建表时定义唯一约束

sql
CREATE TABLE users (
  id INT,
  email VARCHAR(100) UNIQUE
);

修改表添加唯一约束

sql
ALTER TABLE users
ADD UNIQUE (email);

3. 主键与唯一约束的区别

特性 主键(PRIMARY KEY) 唯一约束(UNIQUE)
唯一性 必须唯一 必须唯一
NULL 值 不允许 允许(通常情况下)
数量 一个表仅能有一个主键 一个表可以有多个唯一约束

合理使用主键和唯一约束,可以保证数据完整性和避免重复数据。