相关阅读:
MySQL入门教程(五)之表的创建、修改和删除
视图是从一个或多个表中导出来的虚拟表。视图就像一个窗口,通过这个窗口可以看到系统专门提供的数据。
1、视图简介
1.1 视图的含义
视图是从一个或多个表中导出来的虚拟表,还可以从已经存在的视图的基础上定义。
数据库中只存放视图的定义,而不存放视图中的数据,这些数据仍存放在原来的表中。一旦表中的数据发生变化,显示在视图中的数据也会相应变化。
MySQL的视图并不支持输入参数的功能,即交互性上较差,但对于变化不是很大的操作,使用视图可以很大程度上简化用户的操作。
1.2 视图的作用
视图起着类似于筛选的作用,具体可归纳为
(1)所见即所需,使操作简单化
(2)通过视图,用户只能查询和修改指定的数据,从而限制了用户的权限,增加了数据的安全性
(3)视图可以屏蔽原有表结构变化带来的影响,从而提高了表的逻辑独立性。
2、创建视图
MySQL中,创建视图是通过Creat View语句实现的,具体为
5、更新视图
更新视图是指通过视图来插入、更新和删除表中的数据。
更新视图时,只能更新权限范围内的数据。
实际上对视图的更新最后都是实现在基本表上的。
注意以下情况不能更新视图:
(1)视图中包含sum(),count(),max()和min()等函数
(2)视图中包含union,union all,distinct,group by和having等关键字
(3)常量视图,即视图中的某个字段时常量类型
(4)视图中的select中包含子查询
(5)由不可更新的视图导出的视图
(6)创建视图时,algorithm选择了temptable类型,即系统默认临时表是不可更新的
(7)视图本文来源gaodaimacom搞#^代%!码&网(对应的表上存在没有默认值的列,且该列没有包含在视图中。因为,在更新视图时,这个没有默认值的记录将没有值插入,也没有NULL值插入,系统不允许这种情况出现
由于视图的更新存在很多限制,一般,最好把视图作为查询数据的虚拟表,而不要通过视图来更新数据,很容易造成更新失败。
6、删除视图
删除视图只会删除视图的定义,并不会删除数据。DROP View语句可用来删除视图,但用户必须拥有drop的权限,具体操作为
drop view [if exists] 视图名列表 [restrict|cascade]
其中,if exists用来判断视图存在,存在才执行;在视图名列表中不同视图名称之间通过逗号隔开。
以上所述是小编给大家介绍的MySQL入门教程(七)之视图,希望对大家有所帮助!