📅  最后修改于: 2023-12-03 15:27:32.489000             🧑  作者: Mango
在关系型数据库中,约束是一种限制条件,用于限制某些列或行的取值,保障数据的完整性和一致性。约束可以分为以下几种:
使用约束可以保证数据的完整性和一致性,避免错误数据的插入和更新。如果不使用约束,则需要在应用程序级别上进行数据的校验,增加了代码实现的难度和风险。此外,约束还可以提高查询效率。
添加约束是在创建表的时候进行的,可以通过SQL语句的方式添加。以下是添加不同类型约束的SQL示例:
CREATE TABLE test(
id INT NOT NULL PRIMARY KEY,
name VARCHAR(20)
);
CREATE TABLE test2(
id INT NOT NULL,
name VARCHAR(20) UNIQUE,
age INT
);
CREATE TABLE test3(
id INT NOT NULL,
name VARCHAR(20),
age INT CHECK(age>0)
);
CREATE TABLE test4(
id INT NOT NULL PRIMARY KEY,
name VARCHAR(20)
);
CREATE TABLE test5(
id INT NOT NULL,
CONSTRAINT fk_test5_test4 FOREIGN KEY(id) REFERENCES test4(id)
);
在修改或删除约束时,需要使用ALTER TABLE语句。以下是修改或删除不同类型约束的SQL示例:
ALTER TABLE test ADD CONSTRAINT pk_test PRIMARY KEY(id,name);
ALTER TABLE test2 DROP CONSTRAINT unique_test2_name;
ALTER TABLE test3 ADD CHECK(age>20);
ALTER TABLE test5 DROP CONSTRAINT fk_test5_test4;
使用约束可以保证数据的完整性和一致性,避免错误数据的插入和更新。通过SQL语句添加、修改或删除约束可以为数据库的管理和维护带来便利。