红魔咖啡馆

头发越掉越多,头发越掉越少

0%

【MySQL】约束

概念

约束是作用于表中字段上的规则,用于限制存储在表中的数据

分类

约束是作用于表中字段上的,可以在创建/修改表的时候添加约束

添加

e.g.

1
2
3
4
5
6
CREATE TABLE user(
	id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(10) NOT NULL UNIQUE,
    age INT CHECK(age>0&&age<=120),
    STATUS char(1) DEFAULT '1',
);

外键约束

用于让两张表的数据之间连接,保证数据的一致性和完整性

其中,具有外键的表称为从表,外键所关联的表称为主表

添加外键:

1
2
3
4
5
CREATE TABLE 表名(
	字段名 数据类型,
    ...
    [CONSTRAINT] [外键名称] FOREIGN KEY(外键字段名) REFERENCES 主表(主表列名)
);
1
ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY(外键字段名) REFERENCES 主表(主表列名);

删除外键:ALTER TABLE 表名 DROP FOREIGN KEY 外键名称;

删除/更新行为:

即在删除/更新外键对应主表记录时,对应从表外键的行为

语法:ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY(外键字段名) REFERENCES 主表(主表列名) ON UPDATE 行为 ON DELETE 行为;