zoukankan      html  css  js  c++  java
  • 视图

    视图的引入

      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;

  • 相关阅读:
    把git项目放到个人服务器上
    关于fcitx无法切换输入法的问题解决
    博客变迁通知
    (欧拉回路 并查集 别犯傻逼的错了) 7:欧拉回路 OpenJudge 数据结构与算法MOOC / 第七章 图 练习题(Excercise for chapter7 graphs)
    (并查集) HDU 1856 More is better
    (并查集 不太会) HDU 1272 小希的迷宫
    (并查集 注意别再犯傻逼的错了) HDU 1213 How Many Tables
    (最小生成树 Kruskal算法) 51nod 1212 无向图最小生成树
    (并查集) HDU 1232 畅通工程
    (最小生成树 Prim) HDU 1233 还是畅通工程
  • 原文地址:https://www.cnblogs.com/linbin7/p/11931062.html
Copyright © 2011-2022 走看看