PRIMARY KEY 约束:用于唯一标识表中每个记录的一列或一组列。主键约束强制要求该列的值在表中是唯一的,而且不能为 NULL。
FOREIGN KEY 约束:用于指定一个列或一组列,该列或组合列的值必须存在于另一个表的主键中。外键约束用于确保参照完整性,以避免数据不一致。
UNIQUE 约束:用于唯一标识列中的每个记录,但允许该列包含 NULL 值。唯一约束与主键约束类似,但唯一约束允许 NULL 值。
CHECK 约束:用于限制列中的值必须符合特定的条件,这些条件由程序员指定。CHECK 约束可以是简单的比较,也可以是复杂的函数。
NOT NULL 约束:用于确保列中的值不能为空。如果在插入新记录时违反 NOT NULL 约束,则会抛出错误。
下面是一些 SQL 中约束的规范格式:
创建表时定义主键约束:
CREATE TABLE table_name (
column1 datatype constraint,
column2 datatype constraint,
column3 datatype constraint,
.....
PRIMARY KEY (column1)
);
创建表时定义外键约束:
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
column3 datatype,
.....
FOREIGN KEY (column1) REFERENCES other_table(column_name)
);
创建表时定义唯一约束:
CREATE TABLE table_name (
column1 datatype constraint,
column2 datatype constraint,
column3 datatype constraint,
.....
UNIQUE (column1)
);
创建表时定义 CHECK 约束:
CREATE TABLE table_name (
column1 datatype constraint CHECK (condition),
column2 datatype constraint CHECK (condition),
column3 datatype constraint CHECK (condition),
.....
);
添加约束:
ALTER TABLE table_name ADD CONSTRAINT constraint_name constraint;
删除约束:
ALTER TABLE table_name DROP CONSTRAINT constraint_name;