1. 程式人生 > >mysql檢視---增刪改查(二)

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許可權。