MySQL——視圖

來源:互聯網
上載者:User

標籤: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——視圖

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.