SQL 中表级约束与列级约束有何不同?能举例说明吗?
时间: 2023-09-04 12:08:38 浏览: 159
SQL Server中Check约束的学习教程
在 SQL 中,约束用于强制执行表中的数据规则。表级约束是应用于整个表的规则,而列级约束应用于表中的特定列。
表级约束可以是以下类型:
1. 主键约束:用于标识表中的唯一行。它强制执行一个或多个列的唯一性,并且不能为NULL。
2. 唯一约束:强制执行一个或多个列的唯一性,但允许NULL值。
3. 外键约束:用于确保表中的数据与另一个表中的数据的引用完整性。
4. 检查约束:用于强制执行特定列中的数据的规则。
列级约束可以是以下类型:
1. NOT NULL约束:强制执行列中的数据不为NULL。
2. DEFAULT约束:为列指定默认值。
3. UNIQUE约束:强制执行列中的数据的唯一性。
4. CHECK约束:强制执行列中的数据的规则。
例如,以下是一个包含表级约束和列级约束的示例表:
```
CREATE TABLE customers (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(50) UNIQUE,
age INT CHECK (age > 0),
city VARCHAR(50) REFERENCES cities(name)
);
```
在这个例子中,表级约束包括主键约束和外键约束。列级约束包括NOT NULL约束、UNIQUE约束和CHECK约束。
阅读全文