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

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