MySQL是一种常用的关系型数据库管理系统,它支持多种数据类型和各种约束,本文主要介绍MySQL常见的几种约束。
1. 主键约束 (PRIMARY KEY)
CREATE TABLE person (id INT PRIMARY KEY,name VARCHAR(50),age INT);
主键必须是唯一的,且不能为空,可以由一个或多个列组成。
2. 唯一约束 (UNIQUE)
CREATE TABLE person (id INT PRIMARY KEY,name VARCHAR(50) UNIQUE,age INT);
唯一约束保证指定的一列或多列具有唯一值,不允许重复。
3. 非空约束 (NOT NULL)
CREATE TABLE person (id INT PRIMARY KEY,name VARCHAR(50) NOT NULL,age INT NOT NULL);
非空约束指定列的值不能为空。
4. 外键约束 (FOREIGN KEY)
CREATE TABLE person (id INT PRIMARY KEY,name VARCHAR(50) NOT NULL,age INT,company_id INT,FOREIGN KEY (company_id) REFERENCES company(id));
外键约束指定一个表中的列引用另一个表中的列,强制保证数据完整性。
5. 检查约束 (CHECK)
CREATE TABLE person (id INT PRIMARY KEY,name VARCHAR(50) NOT NULL,age INT CHECK (age >= 18),company_id INT,FOREIGN KEY (company_id) REFERENCES company(id));
检查约束保证列中的值满足指定的条件。
总之,MySQL约束是保证数据完整性和一致性的一个重要手段,可以通过以上几种方式来实现。