MySQL視圖

一、什麼是視圖

視圖是存放數據的一個接口,也可以說是虛擬表,這些數據可以是從一個或幾個基表(視圖)的數據,也可是用戶自己定義的數據,其實視圖裡面不存放數據,數據據還是存在基表裡面,基表數據發生變化,視圖裡的數據也隨之變量,視圖裡數據變化,基表也會變化。

二、視圖的作用

1. 視圖可以讓查詢變得很清楚(複雜的SQL語句變得很簡單)

2. 保護數據庫的重要數據, 給不同的人看不同的數據

三、創建視圖

create [or replace] [algorithm={merge|temptable|undefined}]

view view_name [(column_list)]

as select_statement

[with [cascaded|local] check option]

alter [or replace] [algorithm={merge|temptable|undefined}]

view view_name [(column_list)]

as select_statement

[with [cascaded|local] check option]

視圖有三種類型

Merge: 會將引用視圖的語句的文本與視圖定義結合起來,使用得視圖定義的某一部分取代語句的對應部分

Temptable

undefined : Megre

algorithm=merge

with local check option [local]只要滿足本視圖的條件就可以更新

with cascaded check option [cascaded]則是必須滿足所有針對視圖的條件,才可以更新


MySQL視圖


分享到:


相關文章: