约束

关键词说明
主键约束PRIMARY KEY AUTO_INCREMENT
非空约束NOT NULL
唯一约束UNIQUE
默认约束DEFAULT
检查约束CHECK
外键约束FOREIGN KEY

示例:

CREATE TABLE IF NOT EXISTS itcast.user (
  id int PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
  name VARCHAR(10) NOT NULL UNIQUE COMMENT '姓名',
  age int check (age > 0 and age <= 120) COMMENT '年龄',
  status CHAR(1) DEFAULT '1' COMMENT '状态',
  gender CHAR(1) COMMENT '性别'
)COMMENT '用户表';

外键约束

外键用来让两张表的数据之间建立连接,从而保证数据的一致性和完整性;

添加外键语法

ALTER TABLE 从表 add CONSTRAINT 外键 FOREIGN KEY (从表字段) REFERENCES 主表(主表字段名);

删除外键语法

 ALTER TABLE 表名 DROP FOREIGN KEY 外键;

外键的删除更新行为

行为说明
NO ACTION当在父表中删除/更新对应记录时,首先检查该记录是否有对应外键,如果有则不容许删除/更新。(与RESTRICT 一致)
RESTRICT当在附表中删除/更新对应记录时,首先检查该记录是否有对应外键,如果有则不容许删除/更新.(与NO ACTION 一致)
CASCADE当在父表中删除/更新对应记录时,首先检查该记录是否有对应外键,如果有,则也删除/更新外键在字表中的记录
SET NULL当父表中删除对应记录时,首先检查该记录是否有对应外键,如果有则设置自表中该外键值为null(这就要求该外键允许取null)
SET DEFAULT父表有变更时,字表将外键列设置成一个默认的值(Innodb不支持)

语法

ALTER TABLE 表名 add CONSTRAINT 外键名称 FOREIGN KEY (外键字段) REFERENCES 主表名称(主表字段名) ON  UPDATE 约束行为 ON DELETE 约束行为;
最后修改:2022 年 04 月 04 日 11 : 39 AM
如果觉得我的文章对你有用,请随意赞赏