mysql檢視原理與用法例項詳解
阿新 • • 發佈:2020-04-28
本文例項講述了mysql檢視原理與用法。分享給大家供大家參考,具體如下:
本文內容:
- 什麼是檢視
- 建立檢視
- 檢視檢視
- 檢視的修改
- 檢視的刪除
- 檢視的資料操作
首發日期:2018-04-13
什麼是檢視:
- 檢視是一種基於查詢結果的虛擬表,資料來源的表稱為基本表。
- 檢視的建立和刪除不影響基本表。
- 檢視的插入,修改操作會影響基本表。
- 如果檢視來自多個基本表,那麼不可以修改基本表。
- 檢視的用處:
- 1.檢視基於查詢結果,使得檢視可以隱藏基本表一些不該展示給使用者的資料資訊(比如某個開發人員需要使用者資訊表,但不應該展示給他使用者的密碼資訊。)
- 2.檢視是一個虛擬表,可以將查詢資訊儲存到檢視中,這樣可以便於操作。
- ......
建立檢視:
- 語法:create view 檢視名 as select語句 [with check option];【select語句可以多表查詢結果:聯合查詢、連線查詢】
- with check option會依據where等條件語句來限制插入和修改操作(比如檢索出來的檢視資料是男的,不允許將男的改成女的)
create view man_info as select * from student where gender="male";
- with check option會依據where等條件語句來限制插入和修改操作(比如檢索出來的檢視資料是男的,不允許將男的改成女的)
補充:
- 檢視的建立還有一個可選項:檢視演算法(這裡不講述,想了解的可以百度)
檢視檢視:
- 檢視是一個虛擬表,針對表的檢視語句都可以使用到檢視中
- 檢視所有檢視:show tables/views;
- 檢視檢視結構:desc/describe/show columns from 檢視名;
- 檢視檢視建立語句:show create table/view 檢視名;
檢視的修改:
- 有時候可能發生定義檢視錯誤,所以這時候會執行修改檢視操作。
- 語法:alter view 檢視名 as 新的select語句;
create view user_view as select * from user; alter view user_view as select username,money from user;
補充:
- 由於檢視是一種虛擬表,還有一種可以修改檢視的方法:create or replace view 檢視建立語句;【將以新的檢視覆蓋舊檢視】
檢視的刪除:
- 語法:drop view 檢視名[,檢視名…];
- 示例:
drop view student_class,student_info;
檢視的資料操作:
- 如果檢視來自多個基本表,那麼不可以修改基本表。不過理論上update是允許的。
檢視的資料檢視:
- 語法:select 欄位列表 from 檢視名;【與基本表的查詢操作是一致的。】
檢視的資料插入:
- 資料來源自多個基本表時,無法進行插入操作。
- 語法:insert into 檢視名 values();【與基本表的插入操作是一致的。】
- 注意:檢視結構來自於基本表,所以要接受基本表的約束。如果某個欄位不允許為空,但檢視的插入操作又沒賦值的話,會插入失敗。
檢視的資料修改:
- 語法:update 檢視名 set 欄位名 = 值 where 條件;【與基本表的修改操作是一致的。】
檢視的資料刪除:
- 資料來源自多個基本表時,無法進行刪除操作。
- 語法:delete from 檢視名 where 條件;【與基本表的刪除操作是一致的。】
更多關於MySQL相關內容感興趣的讀者可檢視本站專題:《MySQL查詢技巧大全》、《MySQL事務操作技巧彙總》、《MySQL儲存過程技巧大全》、《MySQL資料庫鎖相關技巧彙總》及《MySQL常用函式大彙總》
希望本文所述對大家MySQL資料庫計有所幫助。