程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MYSQL入門知識 >> MySQL數據庫視圖基礎

MySQL數據庫視圖基礎

編輯:MYSQL入門知識
 

什麼是視圖呢?《數據庫原理》一書上是這麼定義的:視圖是從一個或者多個基本表或視圖中導出的虛表。為什麼稱為虛表呢,是因為,視圖與表一樣,都有名稱,有結構定義,但是表是實實在在存放了數據;而視圖也名稱,有結構定義,但是所對應的數據是來源於表或其它視圖。說通俗點:如果我們把一張報紙比做是一個表,那現在給你一個木框,你拿著木框在這張報紙上隨意移動時,你通過木框看到的東西都是不一樣,不同的位置就對應了不同的視圖。熟悉VC中的CView類開發人員應該最清楚我表達我所說的內容。說了那麼多的費話,還不如具幾個例子來的實在。

     老套路,啟動數據庫系統,登錄需操作的數據庫。下面我們就來先創建一個視圖來看看:

mysql> create view v_score(iExamID,vcName,iScore) as select t_score.score_no,t_userinfo.user_name,t_score.exam_score from t_score,t_userinfo

where t_score.user_id=t_userinfo.user_id;

 執行以上語句後,我們就在mydb數據庫中成功的創建了一個名為v_score的視圖了。這個視圖的數據來源於t_score表和t_userinfo表,下面我們查看一下視圖的結構。

mysql> show create v_score;

怎麼用view呢,對了,就跟查詢表操作一樣。

mysql> select * from v_score;

結果如下:

63591342299653.jpg

視圖部分最基礎的操作大概就這麼多。初學數據庫或者對視圖概念仍模糊的同學們會問了,那為什麼要用視圖?前輩,專家已經對視圖的作用進行了完美總結,我在這裡只想強調三個作用:

1、視圖可以簡化查詢操作。(這一點上面例子可看出,分散在兩個表的數據,通過這麼一個視圖就用一句select就完成查詢)。

2、視圖可以將同一個數據以不同的面貌展現給不同的用戶。

3、視圖可以對數據表提供完全的保護,使某些用戶無法直接接觸到表。

視圖是一個優化數據庫管理、提高應用開發效率的工具。用好視圖,對你的應用程序開發會大大提高程序的開發效率,並且使你的程序安全性上有了更好的保證。當然,你說是不是一定要有視圖,我告訴你的,你的數據庫中可以不要任何視圖,照樣可以完成你的所有操作。但那不是一個在好的數據庫或軟件開發人員應該身上發生的。

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved