外键,联合查询,子查询

增加外键

创建表的时候增加外键:在所有的表字段之后,使用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为全部


行子查询 :多列一行


表子查询


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容