語法:
CREATE VIEW <視圖名> AS <SELECT語句>
-
<視圖名>:指定視圖的名稱。該名稱在數據庫中必須是唯一的,不能與其他表或視圖同名。
-
<SELECT語句>:指定創建視圖的 SELECT 語句,可用于查詢多個基礎表或源視圖。
對于創建視圖中的 SELECT 語句的指定存在以下限制:
-
用戶除了擁有
CREATE VIEW
權限外,還具有操作中涉及的基礎表和其他視圖的相關權限。 -
SELECT 語句
不能引用系統或用戶變量。 -
SELECT 語句
不能包含 FROM 子句中的子查詢。 -
SELECT 語句
不能引用預處理語句參數。
視圖定義中引用的表或視圖必須存在。但是,創建完視圖后,可以刪除定義引用的表或視圖。可使用 CHECK TABLE
語句檢查視圖定義是否存在這類問題。
視圖定義中允許使用 ORDER BY
語句,但是若從特定視圖進行選擇,而該視圖使用了自己的 ORDER BY
語句,則視圖定義中的 ORDER BY
將被忽略。
視圖定義中不能引用 TEMPORARY 表
(臨時表),不能創建 TEMPORARY 視圖
。WITH CHECK OPTION
的意思是,修改視圖時,檢查插入的數據是否符合 WHERE
設置的條件。
在 b_menu
表上創建一個名為 view_menu
的視圖,輸入的 SQL
語句和執行結果如下所示。
創建視圖SQL語句:
create view view_menu as select *from b_menu;
查看視圖SQL語句:
select * from view_menu;
默認情況下,創建的視圖和基本表的字段是一樣的,也可以通過指定視圖字段的名稱來創建視圖。(主要是因為創建視圖時使用的是所有的數據)。
推薦:mysql教程