mysql 視圖

jopen 10年前發布 | 14K 次閱讀 MySQL 數據庫服務器

mysql 視圖

 

從這個圖,我們可以很容易的看出視圖的優點:

1.  為用戶集中數據,簡化用戶的查詢和處理;有時用戶需要的數據分散在多個表中,定義視圖可以將它們集中在一起,方便用戶查詢。

 2.屏蔽數據庫的復雜性。用戶不需要了解數據庫的表結構,并且數據庫表的變更也不影響用戶對數據庫的使用。

3.簡化用戶權限管理。

4.便于數據共享。

 

 

 

創建視圖:

CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]

    VIEW view_name [(column_list)]

    AS select_statement

    [WITH [CASCADED | LOCAL] CHECK OPTION]

OR REPLACE:允許替換已有同名的視圖。

ALGORITHM:mysql處理視圖的方式,默認是UNDEFINED ,未定義。

 

                           MERGE 會將引用視圖的語句和視圖定義的語句合并起來,在執行整句話。比如:

                           定義視圖語句:create  view  testView   as   student;

                           查詢視圖語句:select  *   from   testView;

                           此時數據庫會這樣:select  *   from (create  view  testView   as   student);合并兩句話后,再執行這句話。

 

                          TEMPTABLE:先從基本表中拿到視圖的結果并存于臨時表中,再執行語句。

WITH CHECK OPTION:在可更新的視圖上檢查這些修改是否符合在select_statement中定義的條件

 
 

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!