1. 程式人生 > >mysql數據庫視圖(五)

mysql數據庫視圖(五)

sele span 存儲 單表查詢 簡單的 pre 例如 atom 插入

1、數據中的視圖

視圖是指計算機數據庫中的視圖,是一個虛擬表,其內容由查詢定義。同真實的表一樣,視圖包含一系列帶有名稱的列和行數據。但是,視圖並不在數據庫中以存儲的數據值集形式存在。行和列數據來自由定義視圖的查詢所引用的表,並且在引用視圖時動態生成。

2、視圖的由來

關系型數據庫中的數據是由一張一張的二維關系表所組成,簡單的單表查詢只需要遍歷一個表,而復雜的多表查詢需要將多個表連接起來進行查詢任務。對於復雜的查詢事件,每次查詢都需
要編寫MySQL代碼效率低下。為了解決這個問題,數據庫提供了視圖(view)功能。

3、mysql視圖相關操作

##創建視圖
create view 視圖名(列1,列2...) as select (列1,列2...) FROM table_name
;

##修改視圖
create or replace view  view_user as select school from demo;

##查看所有視圖
show tables;
通過show tables;反饋得到所有的表和視圖;同樣的,我們可以通過模糊檢索的方式專門查看視圖,這個時候,視圖的命令統一采用v_的優勢就體現出來了。 例如:
show tables like ‘v%‘;
##查看視圖詳情
desc view_name;

4、視圖的運用

1、視圖是虛擬表,本身不存儲數據,而是按照指定的方式進行查詢;
2、使用視圖和使用表完全一樣,只需要把視圖當成一張表就OK了。視圖是一張虛擬表;
3、表中數據變化後,在通過視圖檢索,得到的結果也同步發生了變化;視圖不是表,不保存數據,它只是一張虛擬表;
4、可以通過視圖插入數據,但是只能基於一個基礎表進行插入,不能跨表更新數據。

5、視圖使用的註意點

1、視圖不是表,不直接存儲數據,是一張虛擬的表; 
2、一般情況下,在創建有條件限制的視圖時,加上“with check option”命令。

mysql數據庫視圖(五)