• 视图


    6.1 视图概述

    6.1.1 视图的含义

    视图是一个虚拟表,是从数据库中一个或多个表中导出来的表。视图还可以从已经存在的视图的基础上定义。
    视图一经定义便存储在数据库中,与其相对应的数据并没有像表那样在数据库中再存储一份,通过视图看到的数据只是存放在基本表中的数据。对视图的操作与对表的操作一样,可以对其进行查询、修改和删除。当对通过视图看到的数据进行修改时,相应的基本表的数据也要发生变化;同时,若基本表的数据发生变化,则这种变化可以自动地反映到视图中。

    6.1.2 视图的作用

    与直接从数据表中读取相比,视图有以下优点:
    ● 简单性
    ● 安全性
    ● 逻辑数据独立性

    6.2 创建视图

    6.2.1 创建视图的语法形式

    创建视图使用CREATE VIEW语句,基本语法格式如下:
    CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
    VIEW view_name [(column_list)]
    AS SELECT_statement
    [WITH [CASCADED | LOCAL] CHECK OPTION]

    6.2.2 在单表上创建视图

    MySQL可以在单个数据表上创建视图。
    【例6.1】在t表上创建一个名为view_t的视图,代码如下:
    首先创建基本表并插入数据,语句如下:
    CREATE TABLE t (quantity INT, price INT);
    INSERT INTO t VALUES(3, 50);

    6.2.3 在多表上创建视图

    MySQL中也可以在两个或者两个以上的表上创建视图,可以使用CREATE VIEW语句实现。
    创建视图stu_glass,语句如下:
    CREATE VIEW stu_glass (id,name, glass) AS SELECT student.s_id,student.name ,
    stu_info.glass
    FROM student ,stu_info WHERE student.s_id=stu_info.s_id;

    6.3 查看视图

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

    DESCRIBE可以用来查看视图。
    DESCRIBE 视图名;
    【例6.4】通过DESCRIBE语句查看视图view_t的定义,代码如下:
    DESCRIBE view_t;

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

    查看视图的信息可以通过SHOW TABLE STATUS的方法。
    SHOW TABLE STATUS LIKE '视图名';
    【例6.5】下面将通过一个例子来学习使用SHOW TABLE STATUS命令查看视图信息,代码如下:
    SHOW TABLE STATUS LIKE 'view_t' G

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

    使用SHOW CREATE VIEW语句可以查看视图详细定义。
    SHOW CREATE VIEW 视图名;
    【例6.6】SHOW CREATE VIEW查看视图的详细定义,代码如下:
    SHOW CREATE VIEW view_t G

    6.3.4 在views表中查看视图详细信息

    在MySQL中,information_schema数据库下的views表中存储了所有视图的定义。通过对views表的查询,可以查看数据库中所有的视图的详细信息。
    SELECT * FROM information_schema.views;
    【例6.7】在views表中查看视图的详细定义,代码如下:
    mysql> SELECT * FROM information_schema.viewsG

    6.4 修改视图

    6.4.1 CREATE OR REPLACE VIEW语句修改视图

    修改视图,使用CREATE OR REPLACE VIEW语句,语法如下:
    CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
    VIEW view_name [(column_list)]
    AS SELECT_statement
    [WITH [CASCADED | LOCAL] CHECK OPTION]

    6.4.2 ALTER语句修改视图

    ALTER语句是MySQL提供的另外一种修改视图的方法。
    ALTER [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
    VIEW view_name [(column_list)]
    AS SELECT_statement
    [WITH [CASCADED | LOCAL] CHECK OPTION]

    6.5 更新视图

    更新视图是指通过视图来插入、更新、删除表中的数据,因为视图是一个虚拟表,其中没有数据。通过视图更新的时候都是转到基本表进行更新的,如果对视图增加或者删除记录,实际上是对其基本表增加或者删除记录

    6.6 删除视图

    当视图不再需要时,可以将其删除,删除一个或多个视图可以使用DROP VIEW语句,删除视图必须拥有DROP权限。
    DROP VIEW [IF EXISTS]
    view_name [, view_name] ...
    [RESTRICT | CASCADE]
    6.7 综合案例——视图应用

    努力拼搏吧,不要害怕,不要去规划,不要迷茫。但你一定要在路上一直的走下去,尽管可能停滞不前,但也要走。
  • 相关阅读:
    洛谷 P1604 B进制星球
    629D
    。。。。。
    新安排
    计算几何的两道题
    cf C题
    昨天
    最近几天的安排
    最近几天
    杂论——持续更新。
  • 原文地址:https://www.cnblogs.com/wkhzwmr/p/15315126.html
Copyright © 2020-2023  润新知