mysql之對視圖的操作


1. 為什么要使用視圖?

為了提高復雜SQL語句的復用性和表操作的安全性,MySQL數據庫管理系統提供了視圖特性。所謂視圖,本質上是一種虛擬表,在物理上是不存在的,其內容與真實的表相似,包含一系列帶有名稱的列和行數據。但是,視圖並不在數據庫中以儲存的數據值形式存在。行和列數據來自定義視圖的查詢所引用基本表,並且在具體引用視圖時動態生成。

視圖使開發者只關心感興趣的某些特定數據和所負責的特定任務,只能看到視圖中所定義的數據,而不是視圖所引用表中的數據,從而提高了數據庫中數據的安全性。

視圖的特點如下:

(1). 視圖的列可以來自不同的表,是表的抽象和在邏輯意義上建立的新關系。

(2). 視圖是由基本表(實表)產生的表(虛表)。

(3). 視圖的建立和刪除不影響基本表。

(4). 對視圖內容的更新(添加,刪除和修改)直接影響基本表。

(5). 當視圖來自多個基本表時,不允許添加和刪除數據。

視圖的操作包括創建視圖,查看視圖,刪除視圖和修改視圖。

2. 創建視圖

CREATE VIEW view_name AS 查詢語句;

實例如下:

CREATE VIEW view_name AS SELECT * FROM t_dept;

3. 查看視圖

3.1. SHOW TABLES語句查看視圖名

SHOW TABLES不僅會顯示表的名字,同時也會顯示視圖的名字。

3.2. SHOW TABLE STATUS語句查看視圖詳細信息

SHOW TABLE STATUS FROMfrom db_name】【LIKE 'pattern'

SHOW TABLE STATUS不僅會顯示表的詳細信息,同時也會顯示視圖的詳細信息。

3.3. SHOW CREATE VIEW語句查看視圖定義信息

SHOW CREATE VIEW view_dept

3.4 DESCRIBE | DESC語句查看視圖設計信息

DESCRIBE | DESC viewname

3.5 通過系統表查看視圖信息

當Mysql數據庫安裝成功后,會自動創建系統數據庫information_schema。在該數據庫中存在一個包含視圖信息的表格views,可以通過查看表格views來查看所有視圖的相關信息。

4. 刪除視圖

DROP VIEW view_name 【,view_name】;DROP VIEW

通過DROP VIEW語句可以一次刪除一個或多個視圖。

實例:

DROP VIEW view_dept;

5. 修改視圖

5.1 CREATE OR REPLACE VIEW語句修改視圖

CREATE OR REPLACE VIEW view_name AS 查詢語句;

5.2 ALTER語句修改視圖

ALTER VIEW viewname AS 查詢語句;

6. 利用視圖操作基本表

6.1 檢索(查詢)數據

SELECT * FROM view_name;

6.2 利用視圖操作基本表數據

由於視圖是"虛表",所以對視圖數據進行的更新操作,實際上是對其基本表數據進行更新操作。在具體更新視圖數據時,需要注意以下兩點:

(1). 對視圖數據進行添加,刪除,更新操作直接影響基本表。

(2). 當視圖來自多個基本表時,不允許添加和刪除數據。

添加數據操作:

和向表里添加數據相同。

刪除數據操作:

和向表里刪除數據相同。

更新數據操作:

和向表里更新數據相同。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM