MySQL的约束种类:了解这几种规则(mysql的几种约束)
,改善存储数据的完整性
MySQL是一种关系型数据库管理系统,它支持多种数据完整性约束类型,这些约束作用于表中的列和行,用于防止无效数据,以便将质量高的数据存储在数据库中,进而改善存储的数据完整性。
MySQL支持5种类约束,分别是:
+ 主键约束:主键约束是在每张表中定义的一列,用于标识唯一的行。主键约束的格式如下:
CREATE TABLE person
(id INT PRIMARY KEY,
name VARCHAR(255) NOT NULL,address VARCHAR(255)
);
+ 外键约束:外键约束用于链接多个表。总之,外键约束表明一个表中的列可以通过另一个表中的字段值来到达另一个表中的值。外键约束的格式如下:
CREATE TABLE job
(job_id INT NOT NULL,
job_name VARCHAR(255),department_id INT,
PRIMARY KEY (job_id),FOREIGN KEY (department_id) REFERENCES department (department_id)
);
+ 唯一约束:唯一约束确保一列中的所有值都是唯一的,换句话说,无法将重复值插入列中。唯一约束的格式如下:
CREATE TABLE person
(id INT UNIQUE,
name VARCHAR(255) NOT NULL,address VARCHAR(255)
);
+ 非空约束:非空约束要求表中的某列必须有值。非空约束的格式如下:
CREATE TABLE person
(id INT PRIMARY KEY,
name VARCHAR(255) NOT NULL,address VARCHAR(255)
);
+ 检查约束:检查约束允许定义一组普遍的限制范围,如果插入的数据不在该范围内,MySQL将拒绝插入。检查约束的格式如下:
CREATE TABLE person
(id INT PRIMARY KEY,
name VARCHAR(255) NOT NULL,address VARCHAR(255)
age INT, CONSTRAINT chk_age CHECK (age>=10 AND age
);
总的来说,MySQL的约束类型是一种重要的数据库完整性保护工具。上面提到的只是其中的5种,MySQL还支持其他约束,如默认约束,触发器约束等。了解这些规则,可以帮助我们使数据存储更加安全,提高存储数据的完整性。而在开发项目时也应熟练掌握这些完整性约束,以满足项目对数据完整性和有效性的需求。