1、什么是视图
是一种虚拟存在的表,行和列数据在使用视图时动态生成。
简单、安全、数据独立
2、创建或修改视图
(1)创建视图:有create view权限,查询涉及的列有select权限。
(2)create or replace或alter修改视图,还需要有该视图的drop权限。
注意:MYSQL中创建索引时,from关键字后面不能包含子查询。(如果视图从其他数据库迁移过来,可以将子查询的内容先定义成一个视图,然后对该视图在创建视图就可实现类似的功能)
(3)以下视图是不可更新的。
包含以下关键字的SQL语句:聚合函数sum、min、max、count,distinct、group by、having、union、union all
常量视图
select中包含子查询
join
from一个不能更新的视图
where字句的子查询引用了from字句中的表
(4)with[cascaded|local]check option决定了是否允许更新数据使记录不再满足视图的条件。
local:只要满足本视图的条件就可以更新
cascaded:必须满足所有针对该视图的所有视图的条件才可以更新
(5)删除视图
可以一次删除一个或多个视图:drop view [if exists] view_name[,view_name]...[restrict|cascade]
(6)查看视图
show tables:显示表的名字、视图的名字
show tables status:显示表的信息、视图的信息
show create view ***
查看系统表information_schema.views也可以查看视图的相关信息。