本文更新于2019-06-22,使用MySQL 5.7,作業系統為Deepin 15.4,
目錄為了便于描述,此處將創建視圖的DDL復述一次,其已于“SQL”章節描述,
CREATE [OR REPLACE] [ALGORITHM={UNDEFINED|MERGE|TEMPTABLE}] VIEW viewname [(colname[, ...])]
AS select_statement [WITH [CASCADE|LOCAL] CHECK OPTION]
視圖的行和列資料來自定義視圖的查詢中使用的表,并且是在使用視圖時動態生成的,
MySQL視圖的定義有一些限制,如在FROM關鍵字后面不能包含子查詢,這和其他資料庫是不同的,通過將子查詢的內容定義成另一個視圖,然后對該視圖再創建視圖即可實作類似的功能,
視圖分可更新視圖和不可更新視圖,以下型別的視圖是不可更新的:
- 常量視圖,
- 包含以下關鍵字的SQL陳述句:聚合函式(
SUM、MIN、MAX、COUNT等)、DISTINCT、GROUP BY、HAVING、UNION或UNION ALL, SELECT中包含子查詢,如`SELECT (SELECT colname FROM tablename LIMIT 1),JOIN,FROM一個不能更新的視圖,WHERE子句中的子查詢參考了FROM子句中的表,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/16382.html
標籤:MySQL
上一篇:SQL基礎隨記3 范式 鍵
