视图
创建语法:create [or replace] view 视图名称 as select * from where [with check option]
查询:show create view 视图名称
查看视图数据:select * from 视图名称
修改:
1,可以使用创建的语法更新,记得加or replace
2.alter view 视图名称 as select 表名
删除:
drop view [if exists] 视图名称
视图的检查选项
当使用with check option 子句创建视图时,Mysql 会通过视图检查正在更改的每个行,例如插入,删除,更新,以使其符合视图的定义。Mysql允许基于另一个视图创建视图,它还会检查依赖视图中的规则以保持一致性。为了确定检查的范围,Mysql提供了两个选项cascaded和local默认是cascaded
local 是要检查上个视图有没有检查选项,如果没有就可以进行更新操作,如果有就要符合条件才能更新
cascaded 是不管上个视图有没有检查选项都要符合条件才能更新
视图的更新
要使视图可更新,视图中的行与基础表的行之间必须存在一对一的关系。如果视图包含以下任何一项则视图不更新:
1,聚合函数或窗口函数(sum(),min(),max(),count())
2,distinct
3,group by
4,having
5,union或者union all
视图的作用
简单
视图不仅能可以简化用户对数据的理解,也可以简化他们的操作。那些经常使用的查询可以被定义成视图,从而使得用户不必为以后的操作每次指定全部的条件。
安全
数据库能授权,但是不能授权到数据库特定的行和特定的列上,通过视图用户只能查询和修改他们所能见到的数据。
数据独立
视图可帮助用户屏蔽真实表结构变化带来的影响。