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




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