MySQL更新视图

更新视图 是指通过视图,来更新、插入、删除基本表中的数据

因为,视图是一个虚拟表,其中没有数据,所以,当通过视图更新数据时,其实,是在更新基本表中的数据,如果对视图中的数据进行增加,或者删除操作时,实际上是在对其基本表中的数据,进行增加或者删除操作

<h3 id="update语句">UPDATE语句

使用UPDATE语句更新视图 MySQL中,可以使用UPDATE语句,更新视图

更新view_stu视图中,chinese字段对应的数据值,将字段值改为100 UPDATE view_stu SET chinese=100; 首先,查看view_stu视图,student表中chinese字段的信息

这里写图片描述

可以看出,view_stu视图和student表中,chinese字段的信息 使用UPDATE语句,更新视图view_stu中的chinese字段值

这里写图片描述

可以看出,view_stu视图和student表中,chinese字段更新为100

这里写图片描述

同时,基本表student中的chinese字段,和基于基本表建立的view_stu2视图中的chin字段的值,都变为100

<h3 id="insert语句">INSERT语句

使用INSERT语句更新视图 MySQL中,可以使用INSERT语句,向表中插入一条记录

使用INSERT语句,向student表中插入一条数据 其中,s_id字段的值为4,name字段的值为Lily,math字段的值为100,chinese字段的值为100

这里写图片描述

可以看出,已经向student表中,插入了id为4的记录 此时,查看基于student,建立的view_stu2视图中的信息

这里写图片描述

可以看出,在student表中插入数据之后 View_stu2视图中的数据,也随之改变 因此,当基本表中的数据发生变化之后,与基本表对应的视图也会一起改变

<h3 id="delete语句">DELETE语句

使用DELETE语句更新视图 MySQL中,可以使用DELETE语句,删除视图中的部分记录

使用DELETE语句,在view_stu2视图中删除一条记录 DELETE FROM view_stu2 WHERE math=70;

这里写图片描述

可以看出,view_stu2视图中,删除了math=70的记录 此时,查看student表中的信息

这里写图片描述

可以看出,student表中math=70的记录,也被删除了 因为,视图中的删除操作,最终是通过删除基本表中的记录实现的

注意,虽然视图更新的方式有多种,但是,并不是所有情况下,都能执行视图的更新操作 当视图中包含如下内容时,视图的更新操作不能被执行 1、视图中包含,基本表中被定义为非空的列 2、在定义视图的SELECT语句后的字段列表中,使用了数学表达式 3、在定义视图的SELECT语句后的字段列表中,使用了聚合函数 4、在定义视图的SELECT语句中,使用了DISTINCT、UNION、TOP、GROUP BY或者HAVING子句

相关文章

在正式开始之前,我们先来看下 MySQL 服务器的配置和版本号信...
&gt; [合辑地址:MySQL全面瓦解](https://www.cnblogs.c...
物理服务机的CPU、内存、存储设备、连接数等资源有限,某个时...
1 回顾 上一节我们详细讲解了如何对数据库进行分区操作,包括...
navicat查看某个表的所有字段的详细信息 navicat设计表只能一...
文章浏览阅读4.3k次。转载请把头部出处链接和尾部二维码一起...