外观
SQL 约束有哪几种
SQL
约束主要有以下六种:
主键约束(PRIMARY KEY
)
- 定义:用于唯一标识数据库表中的每一行数据,主键列的值必须是唯一的,且不允许为空。
- 作用:确保数据的唯一性和一致性,常用于连接表和进行数据查找操作,每个表只能有一个主键约束。
外键约束(FOREIGN KEY
)
- 定义:用于定义表之间的关系,它指向另一个表的主键,确保所有引用的数据必须存在于那个表中。
- 作用:维护表之间的数据一致性,防止无效的引用和数据不一致,保证一个表中的数据匹配另一个表中的值的参照完整性。
唯一约束(UNIQUE
)
- 定义:确保某列的所有数据值都是唯一的,即不允许有重复的值出现,与主键不同,唯一约束允许空值存在,但只允许一个空值。
- 作用:用于标识列的唯一性,如确保用户名或邮箱地址在数据库中是唯一的,一个表中可以有多个唯一约束。
非空约束(NOT NULL
)
- 定义:保证某列不能有
NULL
值,即每个记录都必须有一个存在的值。 - 作用:确保数据库中不会存在不完整或无意义的数据,强制列不接受空值。
检查约束(CHECK
)
- 定义:保证列中的值必须满足一定的条件或表达式。
- 作用:限制取值范围、格式要求等,确保数据的有效性和一致性,比如可以限制某列的值必须在某个范围内、必须符合特定的格式。
默认约束(DEFAULT
)
- 定义:为列提供默认值,当插入新记录时如果没有指定该列的值,则自动使用默认值。
- 作用:减少数据录入时的工作量,同时确保数据一致性,规定没有给列赋值时的默认值。