视图的创建语法:
create view视图名 as select 语句;
显示表 将会被显示出来
可以看到“表结构”
和视图内容
删除视图语法:
drop view 视图名;
视图修改
alter view 视图名 as select 语句;
创建视图的原因:
1、 简化查询
2、 可以进行权限控制
比如:可以把 商品名称 等创建视图,把商品价格等“隐藏”。把表的权限保留,只把视图提供给别人。
3、大的数据分表时,可以用到数据。
比如:表的行数大于200 万行时,开始变慢,可以把一张表的数据拆成4张表(视图)来存放。
4、可以将多张表合并成一张表(视图)。结合 union .
注意:
1、可以完全把视图当作表看待。
2、视图源于表,如果表的内容改变了,那么视图的内容也会跟着发生改变。
3、视图的增删改也将会影响表,但是视图并不是总是可以增删改的。视图和表数据是一一对应时,可以修改。对于视图insert视图必须包含所有表中没有默认值的列。
视图的 algorithm(算法)
Algorithm = merge/temptable/undefined
merge 当引用视图时,引用视图的语句和定义视图的语句合并。
意味着,视图只是一个规则,当查询视图时,
把查询视图的语句(比如where 等)与创建时的语句where子句合并分析,形成一条select语句。相当于把语句效果叠加。
temptable当引用视图时,根据视图的创建语句,建立一个临时表。
是把 根据创建时候的语句瞬间创建临时表,查询视图的语句,从该临时表查询。
undefined 未定义自动,让系统帮你选择。
————————————————
版权声明:本文为CSDN博主「明明如月学长」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
https://blog.csdn.net/w605283073/article/details/46572537