1. 程式人生 > >MySQL數據庫視圖

MySQL數據庫視圖

mysql數據庫視圖

day05 MySQL數據庫視圖

一、視圖概述:

視圖是一個虛擬表,是從數據庫中一個或多個表中導出來的表,內容是由查詢定義的。數據庫中只存在視圖的定義,而沒有相關的數據,這些數據四存放在原來的表中。因此,視圖是依賴於原來的表中的數據,表中數據改變,視圖中的數據也會改變。

視圖的作用:

1、具有簡單性、

2、具有安全性、

3、邏輯數據獨立性、

二、視圖:

1、創建視圖:

        create view 視圖名 as select * from 表名;

註意事項:

1、運行創建視圖的語句需要用戶具有創建視圖(create view)的權限,如果加上了【orreplace】時,還需要用戶具有刪除視圖的權限。

2、select語句不能夠包含from子句中的子查詢。

3、select語句不能引用系統或用戶變量。

4、select語句不能引用預處理語句參數。

5、在定義中引用的表或視圖必須存在。

6、在定義中不能引用temporary表和不能創建temporary視圖。

7、視圖中定義的表必須存在。

8、不能講觸發程序和視圖關聯在一起。

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:是判斷該視圖是否存在,如果存在就執行刪除。沒有就不執行

三、結束語

學到這兒視圖的相關知識就學完了。同時對MySQL數據庫的基礎知識也就學完了。接下來我們就要進入到提升篇的學習。

本文出自 “孤獨一夜” 博客,轉載請與作者聯系!

MySQL數據庫視圖