SQL中的约束是对关系表中数据进行限制的规则,用于保障数据的完整性和一致性。约束可以应用于列级别或表级别,在插入、更新、删除数据的过程中,必须遵守这些规则,否则操作将被拒绝。
1、 主键约束(Primary Key)
主键约束用于标识关系表中每条记录的唯一性,一个关系表只能有一个主键。通常情况下,主键是一列或多列,但不允许其中存在NULL值。
CREATE TABLE Student(
stu_id INT PRIMARY KEY,
stu_name VARCHAR(20) NOT NULL,
age INT NOT NULL,
gender CHAR(1) NOT NULL
);
2、 外键约束(Foreign Key)
外键约束用于确保两个关系表之间的引用完整性,保证父表(主表)中被引用的数据必须在子表(从表)中存在。一般情况下,外键是从表中的某一列或多列,它们与主表中的主键或者唯一键建立联系。
--添加外键
CREATE TABLE 表名(
字段名 数据类型,
[CONSTRAINT] [外键名称] FOREIGN KEY(外键字段名) REFERENCES 主表(主表列名)
);
ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY(外键字段) REFERENCES 主表(主表列名);
--删除外键
ALTER TABLE 表名 DROP FOREIGN KEY 外键名称;
外键的删除/更新行为:
- 删除行为
当父表中的某个记录被删除时,如果该记录与子表中的某个记录相关联