首頁  >  文章  >  資料庫  >  介紹mysql中視圖的概念及操作

介紹mysql中視圖的概念及操作

零下一度
零下一度原創
2017-05-08 14:58:521587瀏覽

概念

  <a href="http://www.php.cn/code/8708.html" target="_blank">視圖</a>是一種虛擬存在的表,對於使用視圖的使用者來說,基本上跟使用正常的表一樣。視圖在資料庫中是不存在的,視圖中的資料是動態產生的。
  視圖相對於普通表的優勢:

  • 簡單:使用視圖不需要關心後面的表的對應結構條件,對於使用者來說,視圖是過濾好的結果集。

  • 安全:使用者只能存取他們被允許查詢的結果集。

  • 資料獨立:一旦視圖結構確定,對實際表的改變對視圖使用者是沒有影響的。

視圖操作

視圖操作分為建立視圖修改視圖<a href="http://www.php.cn/php/php-tp-remove.html" target="_blank">刪除</a>視圖檢視視圖定義

建立視圖,修改視圖

#创建视图
create [or replace] [algorithm={undefined|merge|temptable}]
view view_name[(column_list)]
as select_statement
[with[cascaded|local] check option]

# 修改视图
alter [algorithm={undefined|merge|temptable}]
view view_name[(column_list)]
as select_statement
[with[cascaded|local] check option]

範例:

create view view_test as
select t1.sid,t1.username,t2.department
from test1 t1 left join test2 t2 on t1.sid=t2.sid;

介紹mysql中視圖的概念及操作

#建立視圖

說明:

  • from關鍵字後面不能包含子查詢;

  • 不能更新的檢視:包含聚合函數/group/distinct /having/union,常數視圖,select包含子查詢,jion,from一個不能更新的視圖,where中子查詢引用from子句中的表。

  • with[cascaded|local] check option 絕對是否允許更新資料使記錄不再滿足視圖條件。其中local-只需滿足本視圖條件就可以更新cascaded-必須滿足所有針對該視圖的所有視圖的條件才可以更新。預設為cascaded。

查看視圖資料

同普通表

select * from view_test;

介紹mysql中視圖的概念及操作

查看視圖資料

刪除視圖

#删除视图
drop view [if exists] view_name [,view_name2]...[restrict|cascade]

#举例
drop view view_test;

檢視視圖狀態

從MySQL5.1開始,使用show tables指令的時候不僅顯示表名還顯示視圖名稱。

【相關推薦】

1. 免費mysql線上影片教學

2. MySQL最新手冊教學

#3. 資料庫設計那些事

以上是介紹mysql中視圖的概念及操作的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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