1. 程式人生 > >2018/05/18 數據庫 視圖

2018/05/18 數據庫 視圖

color IE 業務 size 都是 自我 lec -s 直接

最近有點忙,都沒有時間來寫博客了。

不過這也是自我沈澱的一個過程。

什麽是視圖?

  視圖並沒有想象的那麽復雜,簡單來說的話。

  視圖就是把你寫的SQL保存起來,在使用視圖的時候等於使用了這麽個SQL。

為什麽要用視圖?

  當業務足夠復雜的時候,多個表之間的數據關聯越來越緊密。當我們要找一條數據的時候往往要寫長的SQL。

  而這些SQL往往都是可以重復使用的。

  於是,當我們有了視圖之後,就通過視圖直接查詢即可。

視圖是虛擬表,本身不存儲數據,而是按照指定的方式進行查詢。

如何創建一個視圖?

CREATE VIEW 視圖名(列1,列2...) AS SELECT (列1,列2...) FROM ...;
           這裏是向外暴露的字段 搜索的SQL

先舉一個簡單的例子,我建立一個 user 的視圖

CREATE VIEW v_user AS (SELECT * FROM user);

很簡單,對吧。

這裏查看一下你的表

mysql> show tables;
+----------------------------------+
| test                             |
+----------------------------------+
| user                             |
| v_user                           |
+----------------------------------+
11
rows in set (0.00 sec)

視圖就像一張表一樣存在。

如何使用視圖?

使用視圖和使用表完全一樣,只需要把視圖當成一張表就OK了。視圖是一張虛擬表。

就像使用表一樣,不過對於視圖來說,只推薦查找,雖然說也可以用與增刪改,但是視圖過於復雜的話有很大問題會出錯。

SELECT * FROM v_user;  查找所有人員信息

SELECT * FROM v_user whser id =1;  查找ID等於1人員信息

就像正常查找數據表一樣

2018/05/18 數據庫 視圖