mysql檢視---增刪改查(二)
@author StormWangxhu
@date2017/12/8
再多表上建立檢視
創表:
插入資料並建立檢視:
查詢視圖表
檢視檢視
定義:
檢視資料庫中已經存在的檢視。檢視檢視必須要有show view 的許可權。
檢視檢視主要有三種方式:
方式一:使用describle 語句檢視檢視
describle 檢視名;
或者
desc 檢視名 ;
方式二: 使用 show table status 語句檢視檢視
show table status like '檢視名' ;
like : 表示後面匹配的字串。
‘檢視名’: 表示要檢視的的檢視的名字。檢視名稱需要用單引號括起來。
方式三:show create view 檢視檢視
show create view 檢視名 ;
例項:
view 和普通表最直接的區別:
Comment項的值為 null 和 view 。
修改檢視
定義:
指修改資料庫中存在的檢視的定義,比如當基本表中的某些欄位發生變化時,可以通過修改檢視的方式來保持與基本表一致。
主要有兩種方式:
方式一: 使用create or replace view 語句修改檢視
create [or replace][algorithm ={undefined | merge|temptable} ]
view view_name[(conlumn_list)]
as select_statement
[with[cascaded |local ] check option]
使用create or replace view
語句修改檢視時,若檢視存在,則修改語句對檢視進行修改。若不存在,則建立檢視。
方式二:使用alter 語句修改檢視
alter [algorithm ={undefined | merge|temptable}]
view view_name[(conlumn_list)]
as select_statement
[with[cascaded |local ] check option]
更新檢視
定義:
更新檢視是指通過檢視來更新、刪除、插入基本表中的資料。因為檢視它是一個虛擬表,其中沒有資料,當通過檢視更新資料其實就是在更新基本表中的資料,對檢視中的資料進行增加或刪除操作時,實際上就是對其基本表中的資料表進行增加、刪除操作。
主要有3種方法更新檢視
方法一:使用update語句更新檢視
MySql中,update對檢視中原有資料進行更新。
update 檢視名 set 欄位更新 ;
方法二: 使用insert 語句更新檢視
MySql中,insert 語句可以向表中插入一條記錄。
insert into 檢視名 values(值....) ;
方法三: 使用delete 語句更新檢視
MySql中,delete語句刪除檢視中的部分記錄。
delete from 檢視名 [where 條件語句] ;
綜上: 基本表變化 —–>> 檢視也立即變化。
說明: 當檢視中有以下內容時,不能執行更新操作。
(1)、檢視中包含基本表中定義的非空的列。
(2)、在定義檢視的select語句後的欄位列表中使用了數學表示式。
(3)、定義檢視的select語句後的欄位列表中使用了聚合函式。
(4)、定義檢視的select語句中使用了distinct,union,top,group by 或having字句。
刪除檢視
定義:
檢視不需要時,就可以將其刪除,刪除檢視時,只是刪除檢視的的定義,不會刪除資料。
drop view[if exists]
view_name [,view_name1...]
[restrict | cascade]
說明:
view_name : 要刪除檢視的名稱,檢視可新增多個,名稱間用逗號隔開。刪除檢視必須擁有drop許可權。