数据库
32-
约束
示例
create table user(
id int primary key auto_increment comment '主键',
name varchar(10) not null unique comment '姓名',
age int check ( age>0 && age<120 ) comment '年龄',
status char(1) default '1' comment '状态',
gender char(1) comment '性别'
) comment '用户表';
注:
- auto_increment字段为自动增加序号,插入失败时依然自动增加
- 以上可以通过图形化界面完成
外键约束
删除/更新行为使用方法:ON UPDATE [行为] ON DELETE [行为]
多表查询
多表关系
概述
内连接
示例:
注:若表面过长,可在表名后起别名以简化操作,在起别名后,则无法使用原表名对表操作,见DQL执行顺序
外连接
自连接
注:自连接一定要给表起别名,无法用原名将自己和自己连接
联合查询
子查询
标量子查询
列子查询
行子查询
表子查询
注:满足条件表的一行即可被查询出
注:多表查询技巧:梳理出两个表直接的关系,通过多表连接消除笛卡儿积,再叠加起来