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语句。
     
  • 相关阅读:
    有关于CSS的面试题和练习
    Yslow&PageSpeed– 诊断各种缓慢症状
    使用Plant Simulation连接SQL Server
    利用Microsoft Sql Server Management studio 创建数据库的示例
    SQL2008配置管理工具服务显示远程过程调用失败
    用C语言的rand()和srand()产生伪随机数的方法总结
    Fisher–Yates shuffle 洗牌算法(zz)
    Unity3D导入MAX文件的一些问题(zz)
    UG中STP203和STP214的区别
    生产线工序基础知识
  • 原文地址:https://www.cnblogs.com/skyline1011/p/5939526.html
Copyright © 2011-2022 走看看