当前课程知识点:数据库技术应用 > 学习情境三、银行存取款机数据操纵 > 模块6、银行存取款机视图 > 3.6.2视图的更新
大家好
欢迎来到数据库技术应用在线开放课程
今天我们的任务是视图的更新
我们有三个子任务
第一修改银行卡信息表
视图V下划线cardinfo使其显示表当中的所有字段
第二通过视图V下划线cardinfo当中
修改银行卡相应的挂失状态
第三通过视图V下划线cardinfo删除银行卡的数据
那么有了前面我们所学习的视图创建修改删除
查看等相关的知识
我们接下来看如何通过视图
进行数据的一些更新修改删除
接下来我们一起进入知识技能学习的环节
视图更新
通过视图我们是可以插入修改删除
基本表当中的数据的
上节课我们虽然说了
视图他是一张虚拟表
实际上是在告诉大家
我们的数据是放在我们自然的那个表当中的
但是通过视图是可以对我们原表当中数据进行更新的
那insert就可以实现通过视图插入数据的操作
但是是对视图当中字段的插入
以下几点大家需要注意
第一如果视图没有包括基表当中所有的属性为空的字段
那么通过视图插入会失败的
第二如果视图当中使用了聚合函数或者包含表达式计算结果
那么通过视图插入也会失败
第三不能再使用了distinct unique top group by
或者 having语句的视图当中插入数据
第四对于多个基表连接查询得到的视图
一次插入只能作用于一个基表
那除了插入以外我们来看一下update操作
update本身实现的是数据修改
那么在这里
通过视图来修改数据
视图是来自多个基表当中数据的时候
每次只能更新一个表当中的数据
delete是通过视图进行删除数据的
那么视图连接两个或者两个以上基表时
视图中的数据删除操作是不允许的
那有了这些知识储备
我们来看一下任务实施
第一个修改银行卡表视图
V下划线cardinfo
让它显示所有的字段
并且通过视图插入数据
前面我们已经把V下划线cardinfo
显示所有字段了
然后中间又做了一个密码的去除
那么现在为了让他能够插入数据
我们再把密码加进来
所以我们需要对之前做好的这个
V下划线cardinfo视图进行一个修改
用到了alter view方法呢
方法跟上节课用的是一样的
我们只要把alter view后面
V下划线cardinfo中文写清楚
as select语句
from cardinfo with check option
把中文和我们的字段一一匹配上
这样的话就可以实现修改我们的视图操作了
那视图修改好了
我们的视图就包含了cardinfo表当中的所有字段
那这时候我就可以通过视图进行数据的插入了
插入的方法跟表的插入方法是一样的
insert into values
只不过insert into后面由表名
换成了视图名称V下划线cardinfo
Values把我们要插入的这个值一一的都列到后面
逗号进行一个分割
这样的话就可以实现
将这条数据通过视图插入到我们的原表当中
那对我们的原表的数据起到了一个安全性保障
的作用
接下来我们来看第二个
通过视图V下划线cardinfo修改银行卡的状态为挂失状态
那就用到了修改语句
大家修改语句都会
update set where
update 后面我们以前加的是表名
现在呢只不过我们换成了V下划线cardinfo
通过视图进行修改
Set后面就是你要修改的内容
把是否挂失改成了yes
大家观察一下
我们在原表当中是没有汉字的
是没有是否挂失这个字段的
但是在修改这个视图数据的时候
通过视图改成挂失状态的时候
set后面用到了是否挂失
是因为什么
因为我们在视图显示的时候
已经把这些字段都变成了中文
所以说我们在set的时候需要写是否挂失=yes
但实际上它对应的修改还是表当中的我们
那个英文字段的修改
Where卡号等于什么什么
这个同样的道理
因为你的视图叫卡号
所以这是引用的时候也得是卡号
那么后面把你的卡号写清楚就可以达到一个目的
就是通过视图来修改指定银行卡的一个挂失状态
好我们来看第三个
通过视图删除银行卡的数据
通过视图怎么删除数据
用的还是大家删除数据的方法
Delete from where from
from后面原来放的是表的名称
现在我的from后面放的是视图的名称
where后面是卡号等于什么什么
也就是我们的条件
这里还是需要大家注意where后面这个卡号
一定是你视图当中的
这个名字叫中文的卡号
大家这个地方不要写错了
那么我们通过这样两条语句
也可以通过视图来删除指定银行卡的数据了
那实际上表当中的这条数据就被删掉了
那么今天的任务已经做完了
我们的拓展任务是员工管理数据库视图的管理
感谢大家的聆听
-模块1、数据库的基础知识
--数据库的基础知识
-模块2、MYSQL介绍与安装
--MYSQL介绍与安装
-模块3、银行存取款机数据库的创建与维护
--银行存取款机数据库的创建与维护
-模块4、银行存取款机数据库的设计
--银行存取款机数据库的设计
-模块1、表的创建
--2.1表的创建
--表的创建
-模块2、表的管理
--2.2表的管理
--表的管理
-模块3、索引
--2.3索引
--索引
-实践小课堂:宠物电商管理平台数据库和表的创建
-模块1、银行存取款机数据插入、修改和删除
--银行存取款机数据插入、修改和删除
-模块2、银行存取款机简单查询
--银行存取款机简单查询和统计查询
-模块3、银行存取款机连接查询
--3.3连接查询
--银行存取款机连接查询
-模块4、银行存取款机子查询
--3.4子查询
--银行存取款机子查询
-模块5、银行存取款机分类汇总与排序
--银行存取款机分类汇总与排序
-模块6、银行存取款机视图
--银行存取款机视图
-模块1、银行存取款机存储过程
--4.1.2事务
--银行存取款机存储过程
-模块2、银行存取款机触发器
--银行存取款机触发器
-模块1、MYSQL用户管理
--MYSQL用户管理
-模块2、MYSQL权限管理
--MYSQL权限管理
-模块3、MYSQL数据库的锁机制
--MYSQL数据库的锁机制
-模块4、MYSQL备份和恢复
--MYSQL备份和恢复