Mysql視圖

什么是視圖

視圖是從一個或多個表中導出來的表,是一種虛擬存在的表。

視圖就像一個窗口,通過這個窗口可以看到系統專門提供的數據。

這樣,用戶可以不用看到整個數據庫中的數據,而之關心對自己有用的數據。

數據庫中只存放了視圖的定義,而沒有存放視圖中的數據,這些數據存放在原來的表中。

使用視圖查詢數據時,數據庫系統會從原來的表中取出對應的數據。

視圖中的數據依賴于原來表中的數據,一旦表中數據發生改變,顯示在視圖中的數據也會發生改變。

視圖的作用

1.使操作簡單化,可以對經常使用的查詢定義一個視圖,使用戶不必為同樣的查詢操作指定條件

2.增加數據的安全性,通過視圖,用戶只能查詢和修改指定的數據。

3.提高表的邏輯獨立性,視圖可以屏蔽原有表結構變化帶來的影響。

總而言之,使用視圖的大部分情況是為了保障數據安全性,提高查詢效率


1、創建視圖的語法:

CREATE [OR REPLACE] VIEW

view_name

AS select_statement

[WITH CHECK OPTION]

2、示例

CREATE VIEW v_emp AS

SELECT? * from emp

where emp_dpt_id = 1

3、可更新的視圖

默認建立的視圖是可以更新的,不過視圖很少用來更新

update v_emp set emp_dpt_id = 2 where emp_id = 1;

4、限制更新視圖

drop view v_emp;

CREATE VIEW v_emp AS

SELECT? * from emp

where emp_dpt_id = 1

WITH CHECK OPTION;

update emp set emp_dpt_id = 1 where emp_id = 1;

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容