📅  最后修改于: 2023-12-03 15:21:47.073000             🧑  作者: Mango
在 SQL 中,约束(Constraints)是一种规定表中数据格式、数据完整性和表之间的关系的限制条件。约束是实现数据库数据完整性的关键机制之一。下面介绍 SQL 中常见的约束类型:
主键是用来唯一标识一条记录的列,每个表只能有一个主键。主键的值不能为 NULL,必须是唯一的,并且不能修改或删除。在创建表的时候,我们可以通过以下语法定义主键:
CREATE TABLE table_name (
column1 datatype CONSTRAINT pk_name PRIMARY KEY,
column2 datatype,
...
);
其中,pk_name 是主键的名字。
外键用于实现表之间的关系。它指向另一个表的主键,并在表之间建立起父子关系。在创建表的时候,我们可以通过以下语法定义外键:
CREATE TABLE table_name1 (
column1 datatype CONSTRAINT fk_name REFERENCES table_name2(column_name),
column2 datatype,
...
);
其中,fk_name 是外键的名字,table_name2 是被引用的表名,而 column_name 是被引用的列名。
唯一约束要求该列中的所有值都是唯一的。与主键不同的是,唯一约束的值可以为 NULL。在创建表的时候,我们可以通过以下语法定义唯一约束:
CREATE TABLE table_name (
column1 datatype CONSTRAINT uc_name UNIQUE,
column2 datatype,
...
);
其中,uc_name 是唯一约束的名字。
CHECK 约束用于确保列中的所有值都满足一定的条件。在创建表的时候,我们可以通过以下语法定义 CHECK 约束:
CREATE TABLE table_name (
column1 datatype CONSTRAINT ck_name CHECK (constraint_expression),
column2 datatype,
...
);
其中,ck_name 是 CHECK 约束的名字,constraint_expression 是一个逻辑表达式,只有当该表达式的值为 TRUE 时才会通过约束。
NOT NULL 约束用于确保列中的值不为 NULL。在创建表的时候,我们可以通过以下语法定义 NOT NULL 约束:
CREATE TABLE table_name (
column1 datatype NOT NULL,
column2 datatype,
...
);
以上就是 SQL 中常见的约束类型,它们可以帮助我们保证数据的完整性和一致性。