MySQL视图

MySQL视图

一.视图的定义

视图是由查询结果形成的一张虚拟表,是表通过运算得到的一个投影,同一张表可以创建多个视图 。
创建视图的语法:

create view view_name as select xxx

这个语句可以理解为,将该select结果命名为view_name。

二.视图的作用

(1).简化查询
例:查询平均价格前三高的商品
正常sql语句

select pro_id avg(price) pj from t_product group by pro_id order by pj desc limit 3

创建视图:

create view view_pro_1 as select  pro_id avg(price) pj from t_product group by pro_id

查询视图:

select * from view_pro_1 order by pj desc limit 3

(2).进行权限控制
把表的权限封闭,但是开放相应的视图权限,视图里只开放部分数据
例:用户查询商品的时候不想让其看到商品的价格。
1.创建视图不包含商品价格信息

create view view_pro_2 as select pro_id , pro_name from t_product ;

2.创建一个用户授予查询权限只能操作view_pro_2 视图。

grant select on 库.view_pro_2 to 'xxx' identified by '密码'

三.视图操作的基本语法

(1).查询视图

select * from 视图名 where 条件

(2).修改视图

alter view 视图名 as select xxxx

(3).删除视图

drop view 视图名

(4).查看视图结构

desc 视图名称

(5).查看所有视图

show tables 

注意:没有 show views

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章