首頁  >  文章  >  資料庫  >  mysql中的視圖語法是什麼

mysql中的視圖語法是什麼

coldplay.xixi
coldplay.xixi原創
2021-01-07 11:33:372828瀏覽

mysql中的視圖語法:1、建立視圖,程式碼為【CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]】;2、修改視圖,程式碼為【ALTER [ALGORITHM 】 。

mysql中的視圖語法是什麼

本教學操作環境:windows7系統、mysql8.0.22版,DELL G3電腦,此方法適用於所有品牌電腦。

相關免費學習推薦:mysql影片教學

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為預設值。

建立檢視與查詢檢視:

mysql中的視圖語法是什麼

#對檢視進行更新操作:

mysql中的視圖語法是什麼

發現視圖更新了,查詢一下原始表:

mysql中的視圖語法是什麼

發現原始表也被改變了,由此可見對視圖的修改會影響基本表,(視圖具體能不能更新還要看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 指令的時候不僅顯示表格的名字,同時也會顯示檢視的名稱:

mysql中的視圖語法是什麼

使用SHOW CREATE VIEW 視圖名稱這個指令可以查詢到建立檢視時執行的語句:

mysql中的視圖語法是什麼

mysql中的視圖語法是什麼

################################### ###刪除檢視:#########語法:###
DROP VIEW [IF EXISTS] view_name [, view_name] ...[RESTRICT | CASCADE]
###刪除檢視:############

以上是mysql中的視圖語法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn