首页 > 数据库 >MySQL——视图(二)视图管理(5)修改视图

MySQL——视图(二)视图管理(5)修改视图

时间:2024-09-07 14:52:06浏览次数:15  
标签:语句 修改 视图 stu MySQL YES view

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

        在 MySQL 中,使用 CREATE OR REPLACE VIEW 语句修改视图,其基本语法格式如下所示:

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

        在使用 CREATE OR REPLACE VIEW 语句修改视图时,如果修改的视图存在,那么将使用修改语句对视图进行修改,如果视图不存在,那么将创建一个视图。

        例如,使用 CREATE OR REPLACE VIEW 语句修改 view_stu 视图,SQL 语句如下所示:

CREATE OR REPLACE VIEW view_stu AS SELECT * FROM student;

        上述语法格式中,“view_stu”表示要修改的视图的名称,“*”是通配符表示表中所有字段,“student”指基本表的表名。

        在修改视图之前,首先通过 DESC 语句查看修改之前的 view_stu 视图和 student 表中的字段信息,查询结果如下所示:

        view stu视图的查询结果如下所示:

mysql> DESC view_stu;
+--------------+-------------+------+-----+---------+-------+
| Field        | Type        | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| math         | float       | YES  |     | NULL    |       |
| chinese      | float       | YES  |     | NULL    |       |
| math+chinese | double      | YES  |     | NULL    |       |
+--------------+-------------+------+-----+---------+-------+
3 rows in set (0.02 sec)

        student 视图的查询结果如下所示:

mysql> DESC student;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| s_id    | int(3)      | YES  |     | NULL    |       |
| name    | varchar(20) | YES  |     | NULL    |       |
| math    | float       | YES  |     | NULL    |       |
| chinese | float       | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+
4 rows in set (0.01 sec)

        对 view_stu 视图进行修改,SQL 语句如下所示:

CREATE OR REPLACE VIEW view_tu AS SELECT * FROM student;

        上述 SQL 语句执行成功后,使用 DESC 语句査看修改后的 view_st 视图,执行结果如下所示:

mysql> DESC view_stu;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| s_id    | int(3)      | YES  |     | NULL    |       |
| name    | varchar(20) | YES  |     | NULL    |       |
| math    | float       | YES  |     | NULL    |       |
| chinese | float       | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

        上述执行结果显示了 view_stu 视图修改后的字段信息,修改后的字段信息和student 表中的字段信息完全相同。

2.使用 ALTER 语句修改视图

        ALTER 语句是 MySQL 提供的另外一种修改视图的方法,使用 ALTER 语句修改图的基本语法格式如下所示:

ALTER [ALGORITHM ={UNDEFINED | MERGE | TEMPTABLE }]
VIEW view_name [(column iist)]
As SELECT_statement
[WITH[CASCADED |LOCAL] CHECK OPTION]

        例如,使用 ALTER 语句修改 view_stu 视图,SQL 语句如下所示:

ALTER VIEW view_stu AS SELECT chinese FROM student;

        上述语句中,“view_stu”表示要修改的视图的名称,“chinese”表示 student 表中的chinese 字段,“student”为基本表的表名。

        执行修改 view_stu 视图的 SQL 语句,执行成功后使用 DESC 语句查看修改后的view_stu 视图,执行结果如下所示:

mysql> ALTER VIEW view_stu AS SELECT chinese FROM student;
Query OK, 0 rows affected (0.00 sec)

mysql> DESC view_stu;
+---------+-------+------+-----+---------+-------+
| Field   | Type  | Null | Key | Default | Extra |
+---------+-------+------+-----+---------+-------+
| chinese | float | YES  |     | NULL    |       |
+---------+-------+------+-----+---------+-------+
1 row in set (0.01 sec)

        上述执行结果显示了 view_stu 视图修改后的信息,我们看到使用 ALTER 语句修改后的 view_stu 视图中只剩下一个 chinese 字段。

 

标签:语句,修改,视图,stu,MySQL,YES,view
From: https://blog.csdn.net/W_Fe5/article/details/141956046

相关文章

  • 如何实现mysql高可用
      1.机器资源耗尽2.单点故障3.认为操作4.网络 单点故障解决方案?1.搭建mysql主从集群(双主,一主多从,多主多从)2.可以用MyCat,ShardingJdbc实现 A节点同步到B节点流程?1.从库通过IO线程,连接到主库,并且向主库要对应的binlog文件2.主库通过dump线程获取binlog文......
  • MySQL触发器trigger的使用
    Q:什么是触发器?A:触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的特性:1、有beginend体,beginend;之间的语句可以写的简单或者复杂2、什么条件会触发:I、D、U3、什么时候触发:在增删改前或者后4、触发频率:针对......
  • MySQL 性能压测工具-sysbench使用详解
    sysbench是一个开源的、基于LuaJIT(LuaJIT是Lua的即时编译器,可将代码直接翻译成机器码,性能比原生lua要高) 的、可自定义脚本的多线程基准测试工具,也是目前用得最多的MySQL性能压测工具。基于sysbench,我们可以对比MySQL在不同版本、不同硬件配置、不同参数(操作系统和数据......
  • SQL中的事务、索引、视图、游标、触发器、存储过程概念详解
    SQL中的事务、索引、视图、游标、触发器、存储过程概念详解前几天面试的时候,面试官突然问了句“怎么解释SQL的事务?”,太久没接触了,突然就答不上来这种基础的问题了,好丢捻。于是今天打算整理一下基础概念,发在博客里时刻提醒自己。一、事务想象你正在超市购物。事务就好比你从挑......
  • 升级MySQL5.7,开发要注意哪些坑
    前段时间,将线上MySQL数据库升级到了5.7。考虑到可能产生的不兼容性,在升级之前,确实也是战战兢兢,虽然测试环境,开发环境早在半年前就已提前升级。基于前期的调研和朋友的反馈,与开发相关的主要有两点:sql_modeMySQL5.6中,其默认值为"NO_ENGINE_SUBSTITUTION",可理解为非严格模式,譬如......
  • STM32系列修改外部晶振以及代码的修改(f103、f105为例)
    此文章为引用正点原子详细讲解刚刚接触STM32的时候,用的都是8M晶振。比如你想更换到为外部晶振为12M,但是主频仍想用72M的。该如何设置?或者想倍频到更高的主频该怎么修改?例子就直接直接拿<正点原子>的例子吧!属性原来现在外部晶振8M12M倍频96主频72M72M想从原来的8......
  • 基于Java+SpringBoot+Mysql在线聊天系统功能设计与实现三
    一、前言介绍:1.1项目摘要随着互联网技术的飞速发展,人们的社交需求日益多样化。传统的面对面交流方式已经无法满足现代人随时随地沟通的需求。因此,开发一个高效、便捷的在线聊天系统成为了满足人们社交需求的重要途径。随着即时通讯技术的不断成熟,如WebSocket、HTTP/2等协......
  • 基于Java+SpringBoot+Mysql在线聊天系统功能设计与实现四
    一、前言介绍:1.1项目摘要随着互联网技术的飞速发展,人们的社交需求日益多样化。传统的面对面交流方式已经无法满足现代人随时随地沟通的需求。因此,开发一个高效、便捷的在线聊天系统成为了满足人们社交需求的重要途径。随着即时通讯技术的不断成熟,如WebSocket、HTTP/2等协......
  • DataX实战之MongoDB导入数据到mysql——打包jar包时出现Could not find goal assembly
    使用idea打开我们本地的datax源码或者下载的源码下载地址:https://github.com/alibaba/DataX/blob/master/mongodbreader/doc/mongodbreader.md进行编译,打包上传:指定mongodbreader模块以及它所依赖的模块进行打包【推荐使用,大约只运行3分钟左右】mvn-Ucleanpac......
  • 【生日视频制作】酒吧一群美女车展模特大屏幕视频改字AE模板修改文字软件生成器教程特
    生日视频制作教程酒吧一群美女车展模特大屏幕视频改字AE模板修改文字特效广软件告生成神器素材祝福玩法AE模板工程怎么如何做的【生日视频制作】酒吧一群美女车展模特大屏幕视频改字AE模板修改文字软件生成器教程特效素材【AE模板】生日视频制作步骤:安装AE软件下载......