1.什么是视图
是一种虚拟的表,对于使用视图的用户来说基本上是透明的。视图并不在数据库实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的
1.1视图的好处
简单
安全
数据独立
2.视图操作
2.1创建或者修改视图
创建视图需要有CREATE VIEW 的权限。如果用RATATE OR REPLACE 或者ALTER修改视图,那么还需要该视图的DROP权限
创建语句
CREATE [OR REPLACE] [ALGORITHM={UNDEFINED|MERGE|TEMPTABLE}]
VIEW view_name[(column_list)]
AS select_statement
[WITH[CASCDED|LOCAL]CHECK OPTION]
select_statement:查询语句
修改语句
ALTER[ALGORITHM={UNDEFINED|MERGE|TEMPTABLE}]
VIEW view_name[{column_list}]
AS select_statement
[WITH[CASCDED|LOCAL]CHECK OPTION]
[WITH[CASCDED|LOCAL]CHECK OPTION] :决定了是否允许更新数据使记录不在满足视图的条件
LOCAL 只要满足本视图条件的条件就可以更新
CASCADED 则必须满足所有针对该视图的所有视图的条件才能更新(默认)
以下视图是不能更新的:
DROP VIEW [IF EXISTS]view_name[,view_name]...[RESTRICT|CASCADE]
2.3查看视图
SHOW TABLES:不仅显示表的名字,同时也可以显示视图的信息
SHOW TABLE STATUS[FROM db_name][LIKE 'patten']
显示表的信息,显示视图的信息
SHOW CREATE VIEW:查询某个视图的定义
通过查看系统表Information_schema.views也可以查看视图相关信息