說明mysql中視圖的概念及設置
發表時間:2023-08-31 來源:明輝站整理相關軟件相關文章人氣:
[摘要]概念??視圖是一種虛擬存在的表,對于使用視圖的用戶來說,基本上跟使用正常的表一樣。視圖在數據庫中是不存在的,視圖中的數據是動態生成的。??視圖相對于普通表的優勢:簡單:使用視圖不需要關心后面的表的對應結構條件,對于使用者來說,視圖是過濾好的結果集。安全:使用者只能訪問他們被允許查詢的結果集。數據獨...
概念
??視圖
是一種虛擬存在的表,對于使用視圖的用戶來說,基本上跟使用正常的表一樣。視圖在數據庫中是不存在的,視圖中的數據是動態生成的。
??視圖相對于普通表的優勢:
視圖操作
視圖操作分為創建視圖
、修改視圖
、刪除視圖
、查看視圖定義
。
創建視圖,修改視圖
#創建視圖
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;

創建視圖
說明:
from關鍵字后面不能包含子查詢;
不能更新的視圖:包含聚合函數/group/distinct/having/union,常量視圖,select中包含子查詢,jion,from一個不能更新的視圖,where中子查詢引用from子句中的表。
with[cascaded local] check option 絕對是否允許更新數據使記錄不再滿足視圖條件。其中local-只需滿足本視圖條件就可以更新
、cascaded-必須滿足所有針對該視圖的所有視圖的條件才可以更新
。默認為cascaded。
查看視圖數據
同普通表
select * from view_test;

查看視圖數據
刪除視圖
#刪除視圖
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中文網其它相關文章!
學習教程快速掌握從入門到精通的SQL知識。