MySQL 視圖


一、視圖是什么

視圖是一種虛擬存在的表。。。。 (啰里啰嗦一大堆,幾乎所有的資料都是這么定義的,就把他當成查詢緩存就可以)

二、視圖有什么用

視圖的作用就是緩存數據,可以這么理解,我把一條sql的查詢結果裝在了一個視圖里,我下次再查的時候,就不用走sql了,直接取這個視圖里就可以了,神奇的是我可以修改這個視圖里的數據,就等於修改了原表數據。

它的優點有很多,什么簡單、安全、簡化操作、數據獨立。。。。(再次省略一萬字),然並卵,我在工作中從來沒有見到過它。因此只做了解,練習跟着走一遍就可以收工了。

三、視圖基本操作

1.我查表

SHOW TABLES;

 

2.我准備做視圖的數據

SELECT r.* FROM tb_role r RIGHT JOIN tb_admin a ON a.id=r.create_id;

 

3.創建一個視圖

CREATE OR REPLACE VIEW view_name_1 AS 
SELECT r.* FROM tb_role r RIGHT JOIN tb_admin a ON a.id=r.create_id;
-- 視圖更新有很多限制 比如說 帶常量的查詢 帶limit的查詢 帶聚合函數的查詢 子查詢 等等 實際使用中自測一下就行了
-- 視圖語法
CREATE VIEW 視圖名稱 AS 
sql

-- CREATE 后面加 OR REPLACE 代表如果本視圖存在則覆蓋
-- sql必須是查詢類sql sql內容可以是查詢視圖 也就是說 mysql允許視圖嵌套

 

4.我再查表

SHOW TABLES;

 

5.我查視圖內容

SELECT * FROM view_name_1;

 

6.我修改視圖的內容

UPDATE view_name_1 SET STATUS=10  WHERE id=3;

 

7.查一下原數據

SELECT r.* FROM tb_role r RIGHT JOIN tb_admin a ON a.id=r.create_id;

此時發現原表中的數據也一並被更新了

 

8.刪除視圖

DROP VIEW view_name_1;

 

9.我再查表

SHOW TABLES;

 

 

四、個人分享

 


免責聲明!

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



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