視圖是一個虛擬表,其內容由查詢定義。同真實的表一樣,視圖包含一系列帶有名稱的列和行數據。但是,視圖並不在數據庫中以存儲的數據值集形式存在。行和列數據來自由定義視圖的查詢所引用的表,並且在引用視圖時動態生成。
1. 為什么使用視圖
(1)重用SQL語句。
(2)簡化復雜的SQL操作。在編寫查詢后,可以方便的重用它而不必知道其基本查詢細節。
(3)使用表的一部分而不是整個表。
(4)保護數據。可以授予用戶訪問表的特定部分的權限,而不是整個表的訪問權限。
(5)更改數據格式和表示。視圖可返回與底層表的表示和格式不同的數據。
2. 視圖的規則和限制
(1)與表一樣,視圖必須唯一命名(不能給視圖取與別的視圖或表相同的名字)。
(2)對於可以創建的視圖數目沒有限制。
(3)創建視圖,必須具有足夠的訪問權限。
(4)視圖可以嵌套,既可以利用從其他視圖中檢索數據的查詢來構造視圖。
(5)視圖不能索引,也不能有關聯的觸發器或默認值。
3. 創建視圖
創建表: create view view_name as select * from table_name;
刪除表: drop view view_name;
參考:<<SQL必知必會>>