时间: 2020-11-26|46次围观|0 条评论

 


视图的定义:

视图 就是由查询结果组成的一张虚拟表

视图的创建语法:

create view视图名 as  select  语句;

mysql 视图插图

显示表 将会被显示出来

mysql 视图插图1

可以看到“表结构”

mysql 视图插图2

和视图内容

mysql 视图插图3

删除视图语法:

 drop view  视图名;

mysql 视图插图4

视图修改

alter view  视图名 as select  语句;

 

创建视图的原因:

1、 简化查询

2、 可以进行权限控制

  比如:可以把 商品名称 等创建视图,把商品价格等“隐藏”。把表的权限保留,只把视图提供给别人。

3、大的数据分表时,可以用到数据。

比如:表的行数大于200 万行时,开始变慢,可以把一张表的数据拆成4张表(视图)来存放。

4、可以将多张表合并成一张表(视图)。结合 union .

 

注意:

1可以完全把视图当作表看待。

  2视图源于表,如果表的内容改变了,那么视图的内容也会跟着发生改变。

  3视图的增删改也将会影响表,但是视图并不是总是可以增删改的。视图和表数据是一一对应时,可以修改。对于视图insert视图必须包含所有表中没有默认值的列。

 

视图的 algorithm(算法)

Algorithm = merge/temptable/undefined

merge  当引用视图时,引用视图的语句和定义视图的语句合并。

意味着,视图只是一个规则,当查询视图时,

把查询视图的语句(比如where 等)与创建时的语句where子句合并分析,形成一条select语句。相当于把语句效果叠加。

 mysql 视图插图5

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

是把 根据创建时候的语句瞬间创建临时表,查询视图的语句,从该临时表查询。

mysql 视图插图6

 

undefined 未定义自动,让系统帮你选择。



原文链接:https://blog.csdn.net/w605283073/article/details/46572537

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自起风了,原文地址《mysql 视图
   

还没有人抢沙发呢~