MySQL基礎-視圖

視圖

定義本質就是一張虛擬表。從一個或多個表中結合查詢出來的結果集,做用和真實表同樣。可使用SELECT 語句查詢數據,也可使用INSERT,UPDATE,DELETE 來修改數據。mysql

優勢:1) 簡單化,數據所見即所得;2) 安全性,用戶只能查詢或修改他們所能見到獲得的數據;3) 邏輯獨立性,能夠屏蔽真實表結構變化帶來的影響sql

缺點:1) 性能相對較差,簡單的查詢也會變得稍顯複雜;2) 修改不方便,特別是複雜的聚合視圖基本沒法修改安全

特別強調性能

  • 查看存儲文件,能夠發現,視圖只有表結構文件,沒有表數據文件
  • 視圖一般是用於查詢,儘可能不要修改視圖中的數據

視圖建立示例code

-- 1.建立視圖語法
-- 語法:create view view_name as sql語句;
create view v_user as select u.username,d.depname from user as u inner join dep d on u.pid = d.id;

-- 2.使用視圖
-- 查詢 語法:select * from 視圖名;
select * from v_user;

-- 3.刪除視圖
-- 刪除語法:drop view 視圖名;
drop view v_user;

思考:實際開發過程當中,視圖的使用頻率高嗎?開發

在實際開發過程當中,通常不會使用視圖。假設咱們在項目中使用了大量的視圖,後期咱們想要擴展某個功能的時候,這個功能恰巧又須要對視圖進行修改,那麼首先須要在MySQL中將視圖修改,而後再去應用程序中修改對應的sql語句,這就涉及到跨部門溝通問題
所以,MySQL中雖然有視圖這個功能,但咱們一般不會常常使用,幾乎都是經過從新修改應用程序中的sql語句來擴展功能class

相關文章
相關標籤/搜索