MySQL学习 5 视图

1. 视图

视图(view)可以看做一张虚拟表,是表通过某种运算得到的一个投影。

既然视图只是表的某种查询的投影,所以主要步骤在于查询表上,查询的结果命名为视图就可以了。

1)定义

视图是由查询结果形成的一张虚拟表。

2)创建

3) 删除

4)使用视图的好处

- 可以简化查询

- 可以进行权限控制 :把表的权限封闭,但是开放相应的视图权限,视图里只开放部分数据

- 大数据分表时可以用到 :比如,表的行数超过 200 万行时,就会变慢,可以把一张的表的数据拆成 4 张表来存放,把 4 张表形成一张视图

5)修改

6)视图与表的关系

视图是表的查询结果,表的数据改变了,就会影响视图的结果;

视图增删改也会影响表,但是,视图并不是总能增删改的。

视图某种情况下,是可以修改的。要求是, 视图的数据和表的数据 11 对应,就像函数的映射。

表-->推出视图对应的数据

视图-->推出表对应的数据

对于视图,insert 还应注意,视图必须包含表中没有默认值的列

7)视图的 algorithm

Algorithm = merge/ temptable/ undefined

Merge:当引用视图时,引用视图的语句与定义视图的语句合并.

Merge意味着视图只是一个规则,语句规则,当查询视图时,把查询视图的语句(比如 where 那些)与创建时的语句 where 子句等合并,分析,形成一条 select 语句

Temptable:当引用视图时,根据视图的创建语句建立一个临时表

temptable 是根据创建语句瞬间创建一张临时表,然后查询视图的语句从该临时表查数据

Undefined:未定义,自动,让系统帮你选

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容