您好,登錄后才能下訂單哦!
day05 MySQL數據庫視圖
一、視圖概述:
視圖是一個虛擬表,是從數據庫中一個或多個表中導出來的表,內容是由查詢定義的。數據庫中只存在視圖的定義,而沒有相關的數據,這些數據四存放在原來的表中。因此,視圖是依賴于原來的表中的數據,表中數據改變,視圖中的數據也會改變。
視圖的作用:
1、具有簡單性、
2、具有安全性、
3、邏輯數據獨立性、
二、視圖:
1、創(chuàng)建視圖:
create view 視圖名 as select * from 表名;
注意事項:
1、運行創(chuàng)建視圖的語句需要用戶具有創(chuàng)建視圖(create view)的權限,如果加上了【orreplace】時,還需要用戶具有刪除視圖的權限。
2、select語句不能夠包含from子句中的子查詢。
3、select語句不能引用系統(tǒng)或用戶變量。
4、select語句不能引用預處理語句參數。
5、在定義中引用的表或視圖必須存在。
6、在定義中不能引用temporary表和不能創(chuàng)建temporary視圖。
7、視圖中定義的表必須存在。
8、不能講觸發(fā)程序和視圖關聯(lián)在一起。
9、在定義視圖中允許使用order by,但是,如果從特定視圖進行選擇,而該視圖使用了具有自己order by的語句,它將被忽略。
2、查看視圖結構
describe 視圖名; 或者 desc 視圖名;
3、查看視圖數據
show table status like ‘視圖名’;
4、查看視圖的詳細定義
show table view 視圖名;
5、修改視圖
create or replace view 視圖名 as select 語句;
6、更新視圖
視圖的更新其實就是數據表的更新,更新視圖是指通過視圖來插入、更新、刪除表中的數據。因為視圖就是一個虛擬表,其中是沒有數據的。
update 表名 set 視圖字段1=‘某個值’,視圖字段2=‘某個值’where 條件;
7、刪除視圖
drop view if exists 視圖名 ; 譯:if exists:是判斷該視圖是否存在,如果存在就執(zhí)行刪除。沒有就不執(zhí)行
三、結束語
學到這兒視圖的相關知識就學完了。同時對MySQL數據庫的基礎知識也就學完了。接下來我們就要進入到提升篇的學習。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。