增加外键
创建表的时候增加外键:在所有的表字段之后,使用foreign key(外键字段) references 外部表(主键字段)
在新增表之后增加外键:修改表结构,使用alter table 表名 add [constraint 外键名字] foreign key(外键字段) references 父表(主键字段);
修改外键&删除外键
alter table 表名 drop foreign key 外键名;
删除外键在结构上面看不出来,可以创建表语句上看出来
外键条件
外键要存在,首先必须保证表的存储引擎是innodb
列类型必须与父表的主键类型一致
一张表中的外键名字不能重复
增加外键的字段数据已经存在,必须保证数据与父表主键要求对应
外键约束
有三种约束模式
district:严格模式(默认的)
不能删除或更新主表已经引用的数据
cascade:级联模式
子表跟着父表进行更新
set null:置空模式
语法:foreign key(外键字段) references 父表(主键字段) on delete 模式 on update 模式;
联合查询
select 语句1
union [union 选项]
select 语句2……
union 选项
all:保留所有,不管重复
distinct:去重,默认的
子查询
按位置分类
from子查询
where子查询
exists子查询
成立就返回1
按结果分类
标量子查询 :只有一个数据,
列子查询:一列多行
=any等价于in;-- 其中一个即可
any等价于some; -- 二者是一样的
=all为全部
行子查询 :多列一行
表子查询