在MySQL中,约束是用来确保数据在表中的完整性和准确性的规则。MySQL支持多种类型的约束,包括:
主键约束用于唯一标识表中的每一行记录。一个表只能有一个主键,且主键的值必须是唯一的,不允许为空。
创建表时添加主键约束:
CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT
);
修改表时添加主键约束:
ALTER TABLE students ADD PRIMARY KEY (id);
唯一约束确保表中的某一列或多列的值是唯一的。
创建表时添加唯一约束:
CREATE TABLE students (
id INT,
email VARCHAR(50) UNIQUE,
name VARCHAR(50),
age INT
);
修改表时添加唯一约束:
ALTER TABLE students ADD UNIQUE (email);
外键约束用于建立两个表之间的链接,确保数据的一致性和完整性。
创建表时添加外键约束:
CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
class_id INT,
FOREIGN KEY (class_id) REFERENCES classes(id)
);
CREATE TABLE classes (
id INT PRIMARY KEY,
name VARCHAR(50)
);
修改表时添加外键约束:
ALTER TABLE students ADD FOREIGN KEY (class_id) REFERENCES classes(id);
非空约束确保某一列的值不能为空。
创建表时添加非空约束:
CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT
);
修改表时添加非空约束:
ALTER TABLE students MODIFY name VARCHAR(50) NOT NULL;
检查约束用于限制某一列的值必须满足特定的条件。
创建表时添加检查约束:
CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT CHECK (age >= 0 AND age <= 100)
);
修改表时添加检查约束:
ALTER TABLE students ADD CHECK (age >= 0 AND age <= 100);
通过合理使用这些约束,可以确保数据库中的数据更加完整和准确。
领取专属 10元无门槛券
手把手带您无忧上云