2019-07-12


2019-07-12_第1张图片
2019-07-12_第2张图片
2019-07-12_第3张图片
2019-07-12_第4张图片
2019-07-12_第5张图片
2019-07-12_第6张图片
2019-07-12_第7张图片
2019-07-12_第8张图片
2019-07-12_第9张图片
2019-07-12_第10张图片
2019-07-12_第11张图片


2019-07-12_第12张图片
2019-07-12_第13张图片
2019-07-12_第14张图片
2019-07-12_第15张图片
2019-07-12_第16张图片
2019-07-12_第17张图片
2019-07-12_第18张图片
/

外键条件

外键要存在,首先必须保证表的存储引擎是innodb

列类型必须与父表的主键类型一致

一张表中的外键名字不能重复

增加外键的字段数据已经存在,必须保证数据与父表主键要求对应

外键约束

有三种约束模式

district:严格模式(默认的)

cascade:级联模式

set null:置空模式

语法:foreign key(外键字段) references 父表(主键字段) on delete 模式 on update 模式;

联合查询

基本语法:

select 语句1

union [union 选项]

select 语句2……

union 选项

all:保留所有,不管重复

distinct:去重,默认的

按位置分类

from子查询

where子查询

exists子查询

按结果分类

标量子查询

列子查询

行子查询

表子查询

列子查询

=any等价于in; -- 其中一个即可

any等价于some; -- 二者是一样的

=all为全部

视图(view)

:是一种有结构,但是没结果的虚拟表

创建视图

基本语法:create view 视图名字 as select 语句;

创建单表视图:基表只有一个

创建多表视图:基表来源至少两个

查看视图

show tables [like] / desc 视图名 / show create table 视图名;

修改视图

alter view 视图名字 as 新的select语句;

删除视图

drop view 视图名字;


新增数据

多表视图不能新增数据

可以向单表视图插入数据,但是视图中包含的字段必须有基表中所有不能为空、或没有默认值的字段

视图是可以向基表插入数据的

删除数据

多表视图不能删除数据

单表视图可以删除数据

更新数据

更新限制:with check option;

视图算法:系统对视图以及外部查询视图的select语句的一种解析方式

视图算法分三种

undefined:未定义(默认的)

temptable:临时表算法

merge:合并算法

算法指定:在创建视图的时候create algorithm=指定算法 view 视图名字 as select语句;

你可能感兴趣的:(2019-07-12)