MySQL约束(Constraint)用于限制数据库表中的数据,确保数据的完整性和一致性。约束可以用于列、表或多个表的列之间。
在MySQL中,常见的约束包括:
主键约束(Primary Key Constraint):主键约束确保表中的每一行都有一个唯一的标识符。主键不允许为空,也不允许重复。
外键约束(Foreign Key Constraint):外键约束用于在多个表之间建立关联。它允许在一个表中引用另一个表的主键。
唯一约束(Unique Constraint):唯一约束确保表中的某一列或列组合的值是唯一的,但允许为空。
检查约束(Check Constraint):检查约束用于限制列中的值必须满足特定条件。
默认约束(Default Constraint):默认约束指定当插入数据时,如果未提供某一列的值,则将其设置为默认值。
NOT NULL约束:NOT NULL约束确保某一列的值不能为空。
这些约束可以在创建表时声明,例如:
sql复制代码CREATE TABLE my_table (id INT PRIMARY KEY,name VARCHAR(50) NOT NULL,age INT CHECK (age >= 0),parent_id INT,FOREIGN KEY (parent_id) REFERENCES my_table(id));
上述示例中,id
列被声明为主键,name
列被声明为非空,age
列有一个检查约束以确保年龄大于等于0,parent_id
列是一个外键,引用了同一表中的id
列作为参照。
使用约束可以增强数据库的可靠性和数据完整性,确保数据满足特定的条件和要求。