📅  最后修改于: 2023-12-03 15:00:22.044000             🧑  作者: Mango
在数据库管理系统(DBMS)中,域约束是用于限制数据输入或操作的规则,以确保数据的完整性和一致性。
NOT NULL
约束:用于确保某个列不允许为空值。例如,CREATE TABLE
语句中的 NOT NULL
关键字可以添加到列定义中。CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT NOT NULL
);
在上面的例子中,name
和 age
列都有 NOT NULL
约束,这意味着在插入或更新行时,它们不能是空的。
UNIQUE
约束:用于确保每行的某个列具有唯一值。例如,UNIQUE
关键字可以添加到列定义中。CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(50) UNIQUE
);
在上面的例子中,email
列具有 UNIQUE
约束,因此不能有重复的值。
PRIMARY KEY
约束:用于标识表中唯一的行。一个表只能有一个主键约束,它可以由一个或多个列组成。在 CREATE TABLE
语句中,主键约束可以添加到列定义中。CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(50) UNIQUE
);
在上面的例子中,id
列是主键列。主键列的值不能重复,并且不能为空。如果您试图插入具有相同 id
值的两个行,数据库管理系统将引发错误。
CHECK
约束:用于确保插入或更新行时,某个列的值满足某个条件。例如,CHECK
关键字可以添加到列定义中。CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT NOT NULL CHECK (age >= 18 AND age <= 60)
);
在上面的例子中,age
列具有 CHECK
约束,它必须是 18 到 60 的整数。
域约束是 DBMS 中用于确保数据完整性和一致性的重要工具。本文介绍了一些常见的域约束,包括 NOT NULL
、UNIQUE
、PRIMARY KEY
和 CHECK
约束。了解这些约束对于设计和管理数据库模式至关重要。