標籤:9.png log images 顯示 weight 名稱 blog algorithm where
1. 視圖的概念
資料庫中的視圖指的是一個虛擬表,其內容由查詢定義。同真實的表一樣,視圖也是由行與列構成的。視圖的資料來源由SQL語句查詢得到,不儲存資料。
1. 視圖的建立方法
1 -- 格式: create view 視圖名稱 as SQL查詢; 2 3 -- 說明: 4 5 -- 1) Create view 關鍵字 6 7 -- 2) 視圖名稱: 就是虛擬表名 8 9 -- 3) As 關鍵字10 11 -- 4) SQL查詢, 即: select查詢語句 通過視圖可以有選擇的顯示欄位.12 Create view v_age as select * from student where age<30;
3. 查看視圖建立語句
1 Show create view 視圖名稱 \G
4 查看視圖結構
1 Desc 視圖名稱
5. 顯示所有視圖
1 select * from information_schema.views \G
6. 修改視圖1) 方法一:
1 alter view 視圖名稱 as select查詢;
2) 方法二:
1 Create or replace view 視圖名稱 as select查詢;
7. 更新視圖中資料
先更新原來的資料表的資料,在查看視圖中的資料
更新原來的表後,再查看(視圖尋找不到原來表被修改的資料的資訊,所以會少一條資料)
注意: 通過視圖修改,則是修改的原資料表中的內容. 此時 視圖中的資料與原始表資料是同步的.
建議: 一般不通過視圖修改資料.
8. 刪除視圖
1 Drop view 視圖名稱
9. 視圖演算法
Navicat的使用方法:
概述: 指的是一個視圖是在什麼時候執行,依據哪些方式執行
1) Merge合并
合并的執行方式,每當執行的時候,先將視圖的sql語句與外部查詢檢視的sql語句,合并在一起,最終執行;
1 create ALGORITHM= Merge view 視圖名稱 as SQL查詢;
2) Temptable暫存資料表
暫存資料表模式,每當查詢的時候,將視圖所使用的select語句產生一個結果的暫存資料表,再在當前的暫存資料表內進行查詢。(也就是先執行視圖)
1 create ALGORITHM= TEMPTABLE view 視圖名稱 as SQL查詢;
3) Merge, Temptable演算法的差異:
執行個體: 統計表: tb_phone , 同類手機的最高價格的產品?
10. 視圖的應用情境1) 隱藏某些欄位,保護資料
2) 應用複雜的SQL語句進行簡化語句輸入
MySQL——視圖