您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關mysql中的視圖語法有哪些,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
mysql中的視圖語法:1、創建視圖,代碼為【CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]】;2、修改視圖,代碼為【ALTER [ALGORITHM 】。
mysql中的視圖語法:
視圖的概述:
視圖(View)是一種虛擬存在的表。視圖并不在數據庫中實際存在,行和列數據來自定義視圖的查詢中使用的表,并且是在使用視圖時動態生成的。通俗的講,視圖就是一條 SELECT語句執行后返回的結果集。所以我們在創建視圖的時候,主要的工作就落在創建這條SQL查詢語句。
視圖相對于普通的表的優勢主要包括以下幾項。
簡單:使用視圖的用戶完全不需要關心后面對應的表的結構、關聯條件和篩選條件,對用戶來說已經是過濾好的復合條件的結果集。
安全:使用視圖的用戶只能訪問他們被允許查詢的結果集,對表的權限管理并不能限制到某個行某個列,但是通過視圖就可以簡單的實現。
數據獨立:一旦視圖的結構確定了,可以屏蔽表結構變化對用戶的影響,源表增加列對視圖沒有影響:源表修改列名,則可以通過修改視圖來解決,不會造成對訪問者的影響。
視圖的語法
創建視圖
CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] VIEW view_name [(column_list)] AS select_statement [WITH [CASCADED | LOCAL] CHECK OPTION]
WITH [CASCADED | LOCAL] CHECK OPTION決定了是否允許更新數據使記錄不再滿足視圖的條件。
LOCAL : 只要滿足本視圖的條件就可以更新。
CASCADED : 必須滿足所有針對該視圖的所有視圖的條件才可以更新。 CASCADED為默認值。
創建視圖及查詢視圖:
對視圖進行更新操作:
發現視圖更新了,查詢一下原始表:
發現原始表也被改變了,由此可見對視圖的修改會影響基本表,(視圖具體能不能更新還要看WITH [CASCADED | LOCAL] CHECK OPTION的設置),雖然視圖可以被更新,但是不建議更新,因為視圖就是用來簡化查詢的。
修改視圖語法:
ALTER [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] VIEW view_name [(column_list)] AS select_statement [WITH [CASCADED | LOCAL] CHECK OPTION]
查看視圖:
使用 SHOW TABLES 命令的時候不僅顯示表的名字,同時也會顯示視圖的名字:
使用SHOW CREATE VIEW + 視圖名 這個命令可以查詢到創建視圖時執行的語句:
刪除視圖:
語法:
DROP VIEW [IF EXISTS] view_name [, view_name] ...[RESTRICT | CASCADE]
刪除視圖:
關于“mysql中的視圖語法有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。