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

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

MySQL——修改视图的更多相关文章

  1. MySql 修改列的注释信息的方法

    1. 问题     已经有很多数据的按照业务逻辑分表的一系列表修改一个字段(类型,如-1:默认值,1:表示'人员id',2:表示'公司id')的注释2. 解决方法     1> 使用alter ...

  2. Mysql的视图、存储过程、函数、索引全解析

    视图是查询命令结果构成的一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集合,并可以当作表来查询使用. 1创建视图 --格式:C ...

  3. mysql view(视图)

    一,什么是视图 视图是存放数据的一个接口,也可以说是虚拟的表.这些数据可以是从一个或几个基本表(或视图)的数据.也可以是用户自已定义的数据.其实视图里面不存放数据的,数据还是放在基本表里面,基本表里面 ...

  4. 第五章 MySQL事务,视图,索引,备份和恢复

    第五章 MySQL事务,视图,索引,备份和恢复 一.事务 1.什么是事务 事务是一种机制,一个操作序列,它包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求.要么都执行 ...

  5. mysql事务,视图,权限管理,索引,存储引擎(胖胖老师)

    1: 视图什么是视图    视图是一个虚拟表, 它的内容来源于查询的实表, 本身没有真正的数据;视图的作用    对于复杂的查询时,每次查询时都需要编写一些重复的查询代码让编写sql的效率低下, 为了 ...

  6. MySQL之视图、触发器、事务、存储过程、函数

    一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的 ...

  7. mysql之视图,触发器,事务等。。。

    一.视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的 ...

  8. MySQL:视图

    视图 一.视图的概述 1. 含义:是从数据库中一个或多个表中导出的虚拟表2. 作用:①简单化 ②安全性 ③逻辑数据独立性3. 注意:一个表可以由多个视图: 二.视图的创建 1. 总的语法形式 CREA ...

  9. MySQL之视图、触发器、事务、存储、函数、流程控制

    一.视图 视图就是一个虚拟表,我们把复杂的sql语句后看到的虚拟表封装起来,给他取个名字,当我们下次使用的时候,就不用再去写复杂的sql语句,直接调用封装后的视图名字,就可以得到我们想要的表,然后就可 ...

随机推荐

  1. QLabel添加Click信号

    使用自定义label来实现此功能 其他控件可参照此例. #include "customerqlabel.h" CustomerQlabel::CustomerQlabel(QWi ...

  2. 基于OSS+DataLakeAnalytics+QuickBI的Serverless的查询分析和可视化BI

    基于OSS的数据查询分析和可视化BI报表 数据存储在OSS后,有多种查询分析的方法,包括阿里云MaxCompute.DataLakeAnalytics产品等Severless查询分析服务,也可以自建S ...

  3. 【C++】位运算实现加减乘除

    #include<iostream> #include<assert.h> using namespace std; // 位运算实现加减乘除 int myAdd(int nu ...

  4. 【Django入坑之路】Form组件

    1:From组件的简单使用 1创建From: #导入模块 from django import forms from django.forms import fields, widgets # 导入自 ...

  5. Python学习之路2☞数据类型与变量

    变量 变量作用:保存状态:说白了,程序运行的状态就是状态的变化,变量是用来保存状态的,变量值的不断变化就产生了运行程序的最终输出结果 一:声明变量 #!/usr/bin/env python # -* ...

  6. DENSE_RANK(),允许并列名次、名次不间断,如122344456

    将score按ID分组排名:dense_rank() over(partition by id order by score desc) 将score不分组排名:dense_rank() over(o ...

  7. LeetCode Weekly Contest 6

    leetcode现在每周末举办比赛,这是今天上午参加的比赛的题解.题目难度不算大,两个easy,一个medium,一个hard.hard题之前接触过,所以做得比较顺利. 1.  Sum of Left ...

  8. 自定义View系列教程05--示例分析

    站在源码的肩膀上全解Scroller工作机制 Android多分辨率适配框架(1)- 核心基础 Android多分辨率适配框架(2)- 原理剖析 Android多分辨率适配框架(3)- 使用指南 自定 ...

  9. python代码实现树莓派3b+驱动步进电机

    python代码实现树莓派3b+驱动步进电机 之前买了个树莓派,刚买回来那会儿热情高涨,折腾了一段时间,然后就放那吃灰了.前几天忽然想起来这个东西了,决定再玩玩儿,于是就从某宝上购买了一套步进电机.驱 ...

  10. Error While Loading Shared Libraries, Cannot Open Shared Object File

    In the "I wish the Internet had an actual correct answer" category comes a question from a ...