概述:视图是一种虚拟的表,视图中的数据并不在数据库中实际存在。视图只保存了查询的sql逻辑,不保存查询结果。
CREATE 「OR REPLACE] VIEW 视图名称[(列名列表)】AS SELEC
语句[WITH[CASCADED |LOCAL]CHECK OPTION]
查询
查看创建视图语句:SHOW CREATE VIEW 视图名称,
查看视图数据:SELECT*FROM 视图名称....日
修改
方式一:CREATE [OR REPLACE] VIEW 视图名称[(列名列表)]SELECT语句[WITH[CASCADED | LOCAL] CHECK OPTION]
方式二:ALTER VIEW 视图名称[(列名列表)]AS SELECT语句 [WITH [CASCADED | LOCAL] CHECK OPTION ]
删除
DROP VIEW 「IF EXISTS]视图名称 [,视图名称]
视图检查选项:
-
当使用with check option子句创建视图的时候,mysql会通过视图检查正在更改的每个行,是否符合视图的规定。
-
cascaded 为默认值它意思为级联,如图为例,当带有此关键字的视图依赖其他视图创建的时候,他会使得其依赖的视图进行检查关键字,同样的它被依赖创建时,并不会使其子视图进行check查询。
-
local:
-
带此关键字当查询条件带有的时候,会递归查找其所依赖的视图是否有检查条件,如果有检查选项,那么就会进行查询,如果其被依赖,那么当其子视图插入的时候,则会递归查找其和其的依赖视图,进行检查。
-
-
视图更新;
-
视图要更新,需要其视图中的行和基础表中的行需要时1对1的关系。
-
-
作用
-
简单:视图可以简化用户对数据的理解,简化操作,将经常使用的查询定义为视图,使用户不用对后续的操作再进行条件指定。
-
安全:数据库可以授权,但是不能授权到数据库库特定的行和列上面,通过视图用户只能查询和修改他们所看到的数据
-
数据独立:视图可以帮助用户,屏蔽基础表带来的变化,可以防止基础表带来的变化,使操作失败。
-