MySQL约束
1、概述
数据完整性(Data Integrity)是指数据的精确性(Accuracy)和可靠性(Reliability)。它是防止数据库中 存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。
为了保证数据的完整性,SQL规范以约束的方式对表数据进行额外的条件限制。从以下四个方面考虑:
- 实体完整性(Entity Integrity):例如,同一个表中,不能存在两条完全相同无法区分的记录。
- 域完整性(Domain Integrity) :例如:年龄范围0-120,性别范围“男/女”。
- 引用完整性(Referential Integrity) :例如:员工所在部门,在部门表中要能找到这个部门。
- 用户自定义完整性(User-defined Integrity) :例如:用户名唯一、密码不能为空等,本部门经理的工资不得高于本部门职工的平均工资的5倍。
约束是表级的强制规定。可以在创建表时规定约束(通过CREATE TABLE语句),或者在表创建之后通过ALTER TABLE语句规定约束。