数据库的完整性约束可以保证数据库中数据的有效性和一致性,防止数据出现错误和不一致情况。SQL语句可以设置多种类型的完整性约束,下面将介绍常见的完整性约束及其用法。
主键约束
主键是唯一标识一条记录的字段,不允许重复和为空。可以通过PRIMARY KEY
关键字实现主键约束。
示例代码:
CREATE TABLE student (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT
);
外键约束
外键约束用于保证两个表之间的数据一致性。在一个表中定义对另一个表主键的引用时,就建立了外键。外键约束规定如果一个表的外键值引用另一个表的主键,那么在被引用的表中必须存在一条与之对应的记录。可以通过FOREIGN KEY
关键字实现外键约束。
示例代码:
CREATE TABLE class (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL
);
CREATE TABLE student (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT,
class_id INT,
FOREIGN KEY (class_id) REFERENCES class(id)
);
检查约束
检查约束用于限制插入或更新的数据必须符合一定的条件。可以通过CHECK
关键字实现检查约束。
示例代码:
CREATE TABLE employee (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT,
salary DECIMAL CHECK (salary >= 0),
join_date DATE CHECK (join_date <= CURDATE())
);
唯一约束
唯一约束用于保证某个字段的值在表中只出现一次。可以通过UNIQUE
关键字实现唯一约束。
示例代码:
CREATE TABLE user (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(50) UNIQUE,
password VARCHAR(50) NOT NULL
);
以上是一些常见的数据库完整性约束类型及其实现方式,根据实际情况选择合适的方式保证数据的完整性和一致性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:必须会的SQL语句(八) 数据库的完整性约束 - Python技术站