• MySQL——修改视图


        修改视图是指修改数据库中存在的视图,当基本表的某些字段发生变化时,可以通过修改视图来保持与基本表的一致性。

    1.  用  CREATE  OR  REPLACE   VIEW  语句修改视图

        语法格式如下:

         CREATE   [OR  REPLACE ]   [ALGORITHM={  UNDEFINED |  MERGE  |  TEMPTABLE }]
                       VIEW   view_name  [(  column_list )]
                       AS SELECT_statement

                     [ WITH  |  [ CASCADED |  LOCAL  ]  CHECK OPTION];

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

    【例】修改视图  view_t。

    修改前:

    1. mysql> DESC view_t;
    2. +-----------------+------------+------+-----+---------+-------+
    3. | Field | Type | Null | Key | Default | Extra |
    4. +-----------------+------------+------+-----+---------+-------+
    5. | quantity | int(11) | YES | | NULL | |
    6. | price | int(11) | YES | | NULL | |
    7. | quantity *price | bigint(21) | YES | | NULL | |
    8. +-----------------+------------+------+-----+---------+-------+

    修改语句:

    1. mysql> CREATE OR REPLACE VIEW view_t AS SELECT * FROM t;
    2. Query OK, 0 rows affected (0.07 sec)

    修改后:

    1. mysql> DESC view_t;
    2. +----------+---------+------+-----+---------+-------+
    3. | Field | Type | Null | Key | Default | Extra |
    4. +----------+---------+------+-----+---------+-------+
    5. | quantity | int(11) | YES | | NULL | |
    6. | price | int(11) | YES | | NULL | |
    7. +----------+---------+------+-----+---------+-------+

    2.  用  ALTER  语句修改视图

    语法格式如下:

             ALTER   [ALGORITHM={  UNDEFINED |  MERGE  |  TEMPTABLE }]
                       VIEW   view_name  [(  column_list )]
                       AS SELECT_statement

                     [ WITH  |  [ CASCADED |  LOCAL  ]  CHECK OPTION];

    【例】用  ALTER  语句修改视图  view_t。

    修改前:

    1. mysql> DESC view_t;
    2. +----------+---------+------+-----+---------+-------+
    3. | Field | Type | Null | Key | Default | Extra |
    4. +----------+---------+------+-----+---------+-------+
    5. | quantity | int(11) | YES | | NULL | |
    6. | price | int(11) | YES | | NULL | |
    7. +----------+---------+------+-----+---------+-------+

    修改语句:

    1. mysql> ALTER VIEW view_t AS SELECT quantity FROM t;
    2. Query OK, 0 rows affected (0.04 sec)

    修改后:

    1. mysql> DESC view_t;
    2. +----------+---------+------+-----+---------+-------+
    3. | Field | Type | Null | Key | Default | Extra |
    4. +----------+---------+------+-----+---------+-------+
    5. | quantity | int(11) | YES | | NULL | |
    6. +----------+---------+------+-----+---------+-------+


    【注】参考于清华大学出版社《MySQL数据库应用案例课堂》2016年1月第1版

    原文地址:https://blog.csdn.net/qq_41573234/article/details/80343133
  • 相关阅读:
    题解——草莓(树上切割)
    题解——碰杯
    SCOI2019凉凉记
    题解rotinv
    矩阵快速幂
    质数及线性筛
    题解[ZJOI2007]矩阵游戏
    【实验舱国庆营模拟】Day3 A.code
    【实验舱国庆营模拟】Day2 A.divide
    【纪中集训2019.08.25】【JZOJ6371】树
  • 原文地址:https://www.cnblogs.com/jpfss/p/11004700.html
Copyright © 2020-2023  润新知