視圖
1. 問題
對(duì)于復(fù)雜的查詢,往往是有多個(gè)數(shù)據(jù)表進(jìn)行關(guān)聯(lián)查詢而得到,如果數(shù)據(jù)庫因?yàn)樾枨蟮仍虬l(fā)生了改變,為了保證查詢出來的數(shù)據(jù)與之前相同,則需要在多個(gè)地方進(jìn)行修改,維護(hù)起來非常麻煩
解決辦法:定義視圖
2. 視圖是什么
通俗的講,視圖就是一條SELECT語句執(zhí)行后返回的結(jié)果集。所以我們?cè)趧?chuàng)建視圖的時(shí)候,主要的工作就落在創(chuàng)建這條SQL查詢語句上。
視圖是對(duì)若干張基本表的引用,一張?zhí)摫恚樵冋Z句執(zhí)行的結(jié)果,不存儲(chǔ)具體的數(shù)據(jù)(基本表數(shù)據(jù)發(fā)生了改變,視圖也會(huì)跟著改變);
方便操作,特別是查詢操作,減少復(fù)雜的SQL語句,增強(qiáng)可讀性;
3. 定義視圖
建議以v_開頭
create view 視圖名稱 as select語句;
4. 查看視圖
查看表會(huì)將所有的視圖也列出來
show tables;
5. 使用視圖
視圖的用途就是查詢
select * from v_stu_score;
6. 刪除視圖
drop view 視圖名稱; 例: drop view v_stu_sco;
7. 視圖demo




8. 視圖的作用
提高了重用性,就像一個(gè)函數(shù)
對(duì)數(shù)據(jù)庫重構(gòu),卻不影響程序的運(yùn)行
提高了安全性能,可以對(duì)不同的用戶
讓數(shù)據(jù)更加清晰