• 视图


    视图的引入

      1,视图是一种虚拟的表,是从数据库中一个或者多个表中导出来的表。
      2,数据库中只存放了视图的定义,而并没有存放视图中的数据,这些数据存放在原来的表中。
      3,使用视图查询数据时,数据库系统会从原来的表中取出对应的数据。

    视图的作用

      1,使操作简便化;
      2,增加数据的安全性;
      3,提高表的逻辑独立性;

    创建视图

      { CREATE|REPLACE } [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]

      VIEW view_name [{column_list}]

      AS SELECT 语句

      [WITH [CASCADED | LOCAL |] CHECK OPTION]

    释义:

      CREATE|REPLACE : 【创建|替换已创建的】视图

      ALGORITHM : 视图算法

      UNDEFINED 系统自动选择算法2.MERGE使用的视图语句与视图定义合并起来3.TEMPTABLE 结果存入临时表,然后用临时表执行语句view_name : 视图名称

      column_list : 属性列

      SELECT_STATEMENT :SELECT语句

      [WITH [CASCADED | LOCAL |] CHECK OPTION] 表示视图在更新时保证在视图的权限范围内

      CASCADED 默认值 更新视图时要满足所有相关视图和表的条件,2.LOCAL表示更新视图时满足该视图本身定义的条件即可。

    在单表上创建视图

    CREATE VIEW v1 AS SELECT * FROM t_book;
    CREATE VIEW v2 AS SELECT bookName,price FROM t_book;

     CREATE VIEW v4 AS SELECT bookName,bookTypeName FROM t_book,t_booktype WHERE t_book.bookTypeId=t_booktype.id;

     CREATE VIEW v5 AS SELECT tb.bookName,tby.bookTypeName FROM t_book tb,t_booktype tby WHERE tb.bookTypeId=tby.id;

    在多表上创建视图

    CREATE VIEW v3(b,p) AS SELECT bookName,price FROM t_book;

    查看视图
      DESCRIBE 语句查看视图基本信息

    DESC v5;

      SHOW TABLE STATUS语句查看视图基本信息

    SHOW TABLE STATUS LIKE 'v5';
    
    SHOW TABLE STATUS LIKE 't_book';

      SHOW CREATE VIEW 语句查看视图详细信息

    show CREATE VIEW  v1


    修改视图

      ALTER VIEW AS 视图名  SELETE 语句...

    ALTER view v1 as SELECT * from t_book where id > 23

    更新视图

      修改视图的语句和创建视图的语句完全一样。当视图存在时,修改语句对视图进行修改;当视图不存在时,创建视图。
    删除视图

       DROP VIEW <视图名1> [ , <视图名2> …]

    DROP VIEW <视图名1> [ , <视图名2> …]
    CREATE VIEW v1 AS SELECT * FROM t_book;
    
    CREATE VIEW v2 AS SELECT bookName,price FROM t_book;

      CREATE VIEW v4 AS SELECT bookName,bookTypeName FROM t_book,t_booktype WHERE t_book.bookTypeId=t_booktype.id;

      CREATE VIEW v5 AS SELECT tb.bookName,tby.bookTypeName FROM t_book tb,t_booktype tby WHERE tb.bookTypeId=tby.id;

  • 相关阅读:
    火眼金睛算法,教你海量短文本场景下去重
    CynosDB技术详解——架构设计
    CynosDB技术详解——存储集群管理
    解决 "Script Error" 的另类思路
    Go 语言实践(一)
    Vue.js的复用组件开发流程
    MYSQL中的COLLATE是什么?
    Blending
    AlphaTesting
    Culling & Depth Testing
  • 原文地址:https://www.cnblogs.com/linbin7/p/11931062.html
Copyright © 2020-2023  润新知