天天看點

MySQL的視圖

一.視圖是什麼

1.視圖是一條select語句執行後的傳回的結果集

2.視圖對實際表的引用,是一個虛表,并不存儲任何資料,實際表資料改變了,視圖也會改變

3.對視圖的更新,将會更新實際表

二.視圖的作用

1.友善操作,減少複雜語句

2.增強安全性

三.建立視圖

基本文法

create [or replace] [algorithm = {undefined | merge | temptable}] view [db_name.]view_name [(column_list)] as select_statement [with [cascaded | local] check option]

若給定了[or replace],則表示當已具有同名的視圖時,将覆寫原視圖

示例:

基本解釋:

algorithm=undefined:指定視圖的處理算法;

definer=`root`@`localhost`:指定視圖建立者;

sql security definer:指定視圖查詢資料時的安全驗證方式;

盡可能優化視圖查詢,否則性能受影響.對視圖的增删改,要注意,有可能會更改原表資料.

其實視圖就是mysql資料庫層面的join查詢.