zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    常用模块——time模块,datetime模块
    开发目录的规范

    模块
    day17作业
    面向过程编程
    函数递归
    谈谈作为一个菜B的培训感受
    絮叨机房精密空调的制冷剂
    接入机房产生冷凝水
  • 原文地址:https://www.cnblogs.com/jpfss/p/11004700.html
Copyright © 2011-2022 走看看