zoukankan      html  css  js  c++  java
  • 基本sql语句--视图

    视图:view
     
    若某个查询结果被频繁的用到,可以通过视图将该查询语句的结果保存起来,以达到提交性能的作用。
    视图是由查询结果形成的一张虚拟表。
     
    视图的创建语法:create view 视图名 as select语句。
         如:create view guizhongshangpin as select good_id,good_name from good where shop_price>1000;
     
    视图的作用:
         1.可以简化查询;
         2.可以进行权限控制;把表的权限封闭,开放相应的视图权限(视图中只开放部分列、部分数据)
         3.大数据分表时可以用到视图;
     
    删除视图:drop view 视图名;
     
    视图修改:alter view 视图名 as select xxx;---建议先删除再重建
     
    视图与表的关系
    视图是表的查询结果,自然表的数据改变了,影响表的结果;
     
    0.视图增删改也能影响表;
    1.视图并不是总能增删改的;
    2.视图的数据与表的数据,一一对应时,视图的数据可以增删改,且能影响到表;
    3.对于视图insert,还应注意,视图必须包含表中没有默认值的列;
     
    视图的algorithm(算法)
     
    algorithm有三种值:merge,temptable,undefined。
    merge:当引用视图时,引用视图的语句与定义视图的语句合并;
    temptable:当引用视图时,根据视图的创建语句建立一个临时表;
    undefined:未定义,自动,让系统帮你选。
     
    merge意味着视图只是一个规则,语句规则;当查询视图时,把查询视图的语句(比如where等)与创建时的语句(where子句等)合并,分析;最终形成一条select语句。
    而temptable是根据创建语句瞬间创建一张临时表;然后查询视图的语句从该临时表查数据。
     
    创建语句:create algorithm=temptable view 视图名 as select语句。
     
  • 相关阅读:
    vue系列——数据请求
    优化记录
    优化记录
    正则
    跨域问题
    原型链之prototype/__proto__/constructor
    vue系列——组件数据通讯(二)
    vue系列——组件数据通讯(一)
    ES6(一)
    ES5总结
  • 原文地址:https://www.cnblogs.com/skyline1011/p/5939526.html
Copyright © 2011-2022 走看看