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:未定义,自动,让系统帮你选
网友评论