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 scrollTop的使用方法
    常见简体繁体转换
    远程桌面发生身份验证错误,要求的函数不受支持
    发布版找不到字体,控制台会报错问题处理
    sql进阶-自增字段的数据修改
    sql序列(6)游标
    sql序列(1)新建文件夹、建库
    sql进阶-触发器的实现
    sql进阶-@@rowcount详解
    单条数据横向滚动
  • 原文地址:https://www.cnblogs.com/skyline1011/p/5939526.html
Copyright © 2011-2022 走看看