1. 程式人生 > 其它 >Mysql資料 檢視

Mysql資料 檢視

目錄

一.簡介

檢視是資料庫中的一個虛擬的表是一個虛擬表,其內容由查詢定義。同真實的表一樣,檢視包含一系列帶有名稱的列和行資料。

但是,檢視並不在資料庫中以儲存的資料值集形式存在。行和列資料來自由定義檢視的查詢所引用的表,並且在引用檢視時動態生成。簡單的來說檢視是由其定義結果組成的表。

二.例子

有一個表s1,裡面儲存了id,name,age。

從中找出age欄位大於23的行。

建立結構
create view 檢視名 as select * from 表名 where條件(可以不寫);

建立一個名為one的檢視,條件是age大於23的
create view one as select * from s1 where age > 23;

檢視這個檢視,發現其實就是查詢條件別名叫檢視。

後面的條件什麼的,其實就是在最初的查詢條件的基礎上做查詢。

三.好處

1.查詢效能提高。當多表查詢的時候,就可以將前面的操作固定化,相當於查詢語句簡寫了。

2.安全性。一般是這樣做的:建立一個檢視,定義好該檢視所操作的資料。之後將使用者許可權與檢視繫結。這樣的方式是使用到了一個特性:grant語句可以針對檢視進行授予許可權。

3.有靈活性的功能需求後,需要改動表的結構而導致工作量比較大。那麼可以使用虛擬表的形式達到少修改的效果。這是在實際開發中比較有用的

4.複雜的查詢需求。可以進行問題分解,然後將建立多個檢視獲取資料。將檢視聯合起來就能得到需要的結果了。

四.工作機制

當呼叫檢視的時候,才會執行檢視中的sql,進行取資料操作。

檢視的內容沒有儲存,而是在檢視被引用的時候才派生出資料。這樣不會佔用空間,由於是即時引用,檢視的內容總是與真實表的內容是一致的。

檢視這樣設計有什麼好處?節省空間,內容是總是一致的話,那麼我們不需要維護檢視的內容,維護好真實表的內容,就可以保證檢視的完整性了。

本文版權歸作者所有,歡迎轉載,請務必新增原文連結。