mysql 视图
一, 视图的概念
视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。作为一个select语句保存在数据字典中的。通过视图,可以展现基表的部分数据;视图数据来自定义视图的查询中使用的表,使用视图动态生成。基表:用来创建视图的表叫做基表base table
视图相对于普通的表的优势主要包括以下几项
1)简单:使用视图的用户完全不需要关心后面对应的表的结构、关联条件和筛选条件,对用户来说已经是过滤好的复合条件的结果集。
2)安全:使用视图的用户只能访问他们被允许查询的结果集,对表的权限管理并不能限制到某个行某个列,但是通过视图就可以简单的实现。
3)数据独立:一旦视图的结构确定了,可以屏蔽表结构变化对用户的影响,源表增加列对视图没有影响;源表修改列名,则可以通过修改视图来解决,不会造成对访问者的影响。
二,视图操作
01,创建或者修改视图
创建视图需要有create view的权限, 并且对于查询涉及的列有select权限. 如果使用create or replace 或者 alter 修改视图
,那么需要该试图drop权限
创建视图语法
CREATE OR REPLACE|ALGORITHM={UNDEFINED | MERGE | TEMPTABLE}] VIEW view_name [(colum_list)] AS select_statement [WITH [CASCADED | LOCAL ] CHECK OPTION ]
修改视图语法
ALTER [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] VIEW view_name [(colum_list)] AS select_statement WITH [CASCADED | LOCAL | CHECK OPTION]
操作实例
库提前创建好 CREATE OR REPLACE VIEW staff_list_vie AS SELECT s.staff_id,s.first_name,s.last_name,a.adress FROM staff AS s,address AS a WHERE s,address_id = a.address_id
人生就像一滴水,非要落下才后悔!
--kingle