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