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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值