通过SQL语言建立用户自定义完整性:非空约束、唯一性约束
时间: 2023-10-10 13:10:31 浏览: 185
实现SQL的数据完整性
SQL 提供了多种建立用户自定义完整性的约束方式,包括非空约束和唯一性约束。下面分别介绍这两种约束的建立方法。
1. 非空约束
在 SQL 中,可以通过在列定义时使用 NOT NULL 关键字来指定非空约束。例如,创建一个包含非空约束的表可以使用以下语法:
```
CREATE TABLE table_name (
column1 data_type NOT NULL,
column2 data_type NOT NULL,
...
);
```
其中,`column1`、`column2` 等表示列名,`data_type` 表示数据类型,`NOT NULL` 表示非空约束。在插入数据时,如果没有为非空列提供值,将会触发一个错误。例如,下面的语句在 `my_table` 表的 `id` 列和 `name` 列上定义了非空约束:
```
CREATE TABLE my_table (
id INT NOT NULL,
name VARCHAR(50) NOT NULL,
age INT
);
```
在上面的示例中,`id` 和 `name` 列都被指定为非空,而 `age` 列则没有。因此,在插入数据时,必须为 `id` 和 `name` 提供非空的值,否则会触发一个错误。
2. 唯一性约束
唯一性约束用于确保表中某列的值是唯一的。在 SQL 中,可以通过在列定义时使用 UNIQUE 关键字来指定唯一性约束。例如,创建一个包含唯一性约束的表可以使用以下语法:
```
CREATE TABLE table_name (
column1 data_type UNIQUE,
column2 data_type,
...
);
```
其中,`column1`、`column2` 等表示列名,`data_type` 表示数据类型,`UNIQUE` 表示唯一性约束。在插入数据时,如果违反了唯一性约束,将会触发一个错误。例如,下面的语句在 `my_table` 表的 `email` 列上定义了唯一性约束:
```
CREATE TABLE my_table (
id INT,
name VARCHAR(50),
email VARCHAR(50) UNIQUE,
...
);
```
在上面的示例中,`email` 列被指定为唯一性约束,因此,在插入数据时,如果违反了唯一性约束,将会触发一个错误。
阅读全文