版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
知識點1、視圖的基本概念視圖是從一個或幾個基本表(或視圖)導出的表,它與基本表不同,是一個虛表,只放視圖定義,不存放對應的數(shù)據(jù),數(shù)據(jù)仍在原來的基本表中?;颈碇械臄?shù)據(jù)發(fā)生變化,從視圖中查詢出的數(shù)據(jù)也隨著變化。視圖可以和基本表一樣被查詢、刪除,也可在其基礎(chǔ)上再定義新視圖,但對視圖的更新有一定的限制。視圖是一種SQL查詢。2、數(shù)據(jù)表、視圖、臨時表的區(qū)別2.1建議數(shù)據(jù)表用來做增刪改操作的,視圖用來查數(shù)據(jù),可以避免大量頻繁的查詢和增刪改操作之間的沖突,造成死鎖。2.2視圖消耗內(nèi)存,創(chuàng)建視圖時,不要把內(nèi)容很大的字段放進去,比如文章內(nèi)容,會消耗很多內(nèi)存空間,影響查詢效率,這些大字段只能是分拆成查視圖或查表。2.3在一個項目中,編寫存儲過程時,較復雜查詢的結(jié)果一般會放入臨時表。一些常用的較復雜查詢語句,會在多個存儲過程中重復編寫臨時表。這時候,可以考慮使用視圖,減少頻繁編寫SQL語句的煩惱。3、創(chuàng)建視圖定義以進度17的學生表3為例,創(chuàng)建視圖如下:createviewvw_GetScoreasselect姓名,sum(isnull(語文分數(shù),0))as語文分數(shù),sum(isnull(數(shù)學分數(shù),0))as數(shù)學分數(shù),sum(isnull(英文分數(shù),0))as英文分數(shù)from( select fnameas姓名, casewhenfsubject='語文'thenfscoreendas'語文分數(shù)', casewhenfsubject='數(shù)學'thenfscoreendas'數(shù)學分數(shù)', casewhenfsubject='英文'thenfscoreendas'英文分數(shù)' from學生表3)t1groupby姓名--創(chuàng)建完視圖,查詢視圖select*fromvw_GetScore4、修改視圖定義alterviewvw_GetScoreasselect姓名,sum(isnull(語文分數(shù),0))as語文成績,sum(isnull(數(shù)學分數(shù),0))as數(shù)學成績,sum(isnull(英文分數(shù),0))as英文成績from( select fnameas姓名, casewhenfsubject='語文'thenfscoreendas'語文分數(shù)', casewhenfsubject='數(shù)學'thenfscoreendas'數(shù)學分數(shù)', casewhenfsubject='英文'thenfscoreendas'英文分數(shù)' from學生表3)t1groupby姓名--修改完視圖,查詢視圖select*fromvw_GetScore5、刪除視圖定義--請不要執(zhí)行dropviewvw_GetScore6、視圖數(shù)據(jù)的更新視圖數(shù)據(jù)的更新包括插入(insert)、刪除(delete)、更新(update)三類操作。由于視圖是虛表,所以對視圖的更新可以轉(zhuǎn)變成一個等價的對基本表的更新,更新操作最終作用在基本表上。6.1在兩個以上基本表上使用連接操作定義的連接視圖不可以更新6.2所有行列子集視圖,如果基本表中所有不允許空值的字段都出現(xiàn)在視圖中,則可以對其更新6.3使用分組和聚集函數(shù)定義的視圖不可以更新6.4帶有由基本數(shù)據(jù)經(jīng)過計算派生出的虛擬字段,更新視圖時,帶有派生字段不可以更新。不更新派生字段,則可以更新。7、視圖插入數(shù)據(jù)createtable學生表4( fidintidentity(1,1), fnamevarchar(100), fsexvarchar(10))insertinto學生表4(fname,fsex)select'大明','男'unionallselect'王燕','女'unionallselect'小花','女'--創(chuàng)建視圖1,單個基本表--行列子集視圖:若一個視圖是從單個基本表導出的,并且只是去掉了--基本表的某些行和某些列,但保留了主鍵,這類視圖稱為行列子集視圖--本例是否符合行列子集視圖嗎?不符合!因為本例基本表并沒有設(shè)置主鍵--也可說符合!因為感覺差不多嘛!createviewvw_學生表3asselectfnameas姓名,fsubjectas科目,fscoreas學習成績from學生表3--創(chuàng)建視圖2,兩個基本表聯(lián)合查詢createviewvw_學生表34asselectt1.fnameas姓名,t2.fsexas性別,t1.fsubjectas科目,t1.fscoreas學習成績from學生表3t1leftjoin學生表4t2ont1.fname=t2.fname--視圖1插入1條記錄insertintovw_學生表3(姓名,科目,學習成績)values('陳廣','語文','88')--查看插入的數(shù)據(jù)select*from學生表3--視圖2插入1條記錄,向單表學生表3插入數(shù)據(jù)表insertintovw_學生表34(姓名,科目,學習成績)values('李冰','語文','88')--查看插入的數(shù)據(jù)select*from學生表3--視圖2插入1條記錄,向多表學生表3、學生表4插入數(shù)據(jù)表--字段性別屬于學生表4--6.1在兩個以上基本表上使用連接操作定義的連接視圖不可以更新insertintovw_學生表34(姓名,科目,學習成績,性別)values('李冰','數(shù)學','88','男')--帶聚合函數(shù)的視圖--6.3使用分組和聚集函數(shù)定義的視圖不可以更新insertintovw_GetScore(姓名)select'龍軒'--創(chuàng)建視圖3,派生的虛擬字段--6.4帶有由基本數(shù)據(jù)經(jīng)過計算派生出的虛擬字段,派生字段不可以更新。createviewvw_學生表3avgasselectfnameas姓名,fsubjectas科目,fscoreas分數(shù),casewhenfscore>=90then'A'whenfscore>80andfscore<90then'B' else'C'endas等級from學生表3--插入數(shù)據(jù),包括派生字段等級insertintovw_學生表3avg(姓名,科目,分數(shù),等級)select'龍軒','數(shù)學','60','C'8、視圖更新數(shù)據(jù)select*fromvw_學生表3updatet1sett1.學習成績=65fromvw_學生表3t1w
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年裝修公司工程款支付合同
- 家禽生理基礎(chǔ)知識課件
- 2026屆新高考英語沖刺復習過去完成時
- 2023企業(yè)文化年度峰會-孫兵:讓企業(yè)文化有用的關(guān)鍵舉措
- 新入廠安全培訓內(nèi)容
- 圣馬丁介紹課件
- 隨機事件與概率 同步練習(含答案)
- 周口市課件介紹
- 統(tǒng)編版語文三年級下冊第二單元預習資料 知識清單
- 化工安全技術(shù)培訓中心課件
- 鋼管室內(nèi)操作架施工方案
- 形容詞變副詞綜合練習題及知識講解
- 電動汽車充電樁投資回報分析報告
- 質(zhì)量體系教育培訓制度
- (正式版)DB13∕T 6148-2025 《冀北地區(qū)退化草地生態(tài)修復技術(shù)規(guī)程》
- 咖喱知識培訓課件
- 中繼間施工方案
- 護理查對制度試卷(含答案)
- 鐵路安規(guī)培訓課件
- 施工進度保證措施及應急響應措施
- 融合敘事策略-洞察及研究
評論
0/150
提交評論