SQL實(shí)驗(yàn)三大數(shù)據(jù)地更新操作和視圖 實(shí)驗(yàn)資料報(bào)告材料

上傳人:仙*** 文檔編號(hào):86468575 上傳時(shí)間:2022-05-07 格式:DOC 頁數(shù):16 大?。?.56MB
收藏 版權(quán)申訴 舉報(bào) 下載
SQL實(shí)驗(yàn)三大數(shù)據(jù)地更新操作和視圖 實(shí)驗(yàn)資料報(bào)告材料_第1頁
第1頁 / 共16頁
SQL實(shí)驗(yàn)三大數(shù)據(jù)地更新操作和視圖 實(shí)驗(yàn)資料報(bào)告材料_第2頁
第2頁 / 共16頁
SQL實(shí)驗(yàn)三大數(shù)據(jù)地更新操作和視圖 實(shí)驗(yàn)資料報(bào)告材料_第3頁
第3頁 / 共16頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《SQL實(shí)驗(yàn)三大數(shù)據(jù)地更新操作和視圖 實(shí)驗(yàn)資料報(bào)告材料》由會(huì)員分享,可在線閱讀,更多相關(guān)《SQL實(shí)驗(yàn)三大數(shù)據(jù)地更新操作和視圖 實(shí)驗(yàn)資料報(bào)告材料(16頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、word 實(shí)驗(yàn)三數(shù)據(jù)的更新操作和視圖 本實(shí)驗(yàn)需要2學(xué)時(shí)。 一、實(shí)驗(yàn)?zāi)康? 1、掌握視圖的創(chuàng)建、修改和刪除操作。 2、掌握數(shù)據(jù)庫數(shù)據(jù)更新〔增加、修改、刪除〕操作。 二、實(shí)驗(yàn)容和步驟 1、視圖 〔1〕建立名為UV_SC的視圖。該視圖可以讓我們看到每個(gè)學(xué)生的、選修課程名和成績。 〔2〕利用UV_SC視圖,查看平均成績在80分以上的學(xué)生。 〔3〕建立名為UV_Course的視圖,該視圖顯示每門課的課程名和選修該課程的學(xué)生人數(shù)。 〔4〕修改視圖UV_Course,在視圖中增加一列,顯示選修該課程所有學(xué)生的平均成績。 〔5〕建立名為UV_IS_Depart的視圖。該視圖可以用來查看“

2、信息系〞的學(xué)生的學(xué)號(hào)、、年齡和系名。并保證對該視圖的修改滿足系名為信息系的條件。 〔6〕建立名為UV_Student的加密視圖。該視圖可以用來查看每個(gè)學(xué)生選修的課程門數(shù)和平均成績。 〔7〕利用UV_Student視圖,查詢平均成績在80分以上的學(xué)生學(xué)號(hào)。 〔8〕能否利用視圖UV_Student,修改某個(gè)學(xué)生的平均成績? 〔9〕刪除視圖UV_Student。 2、數(shù)據(jù)更新 〔1〕向STUDENT表增加如下記錄: Sno Sname Ssex Sage Saddress Sdept 95011 王一鳴 男 20 市 計(jì)算機(jī)系 〔2〕將學(xué)號(hào)’9501

3、1’,成績80,以與課程表中的所有課程號(hào)插入到SC表中。 〔3〕建立與表STUDENT同結(jié)構(gòu)的空表STUD。然后利用INSERT命令把表STUDENT中年齡大于19的學(xué)生記錄添加到表STUD。〔注意:可以使用select into語句實(shí)現(xiàn)同結(jié)構(gòu)空表的創(chuàng)建,再使用insert命令插入記錄;或者使用單條select into語句實(shí)現(xiàn)等同的功能〕 〔4〕為“95002〞的學(xué)生增加選修“操作系統(tǒng)〞和“數(shù)據(jù)結(jié)構(gòu)〞這兩門課的選課記錄。 〔5〕把課程名為“操作系統(tǒng)〞的成績從成績表SC中刪除?!苍囉萌N方式完成〕 〔6〕將女生的成績提高10%?!苍囉萌N方式完成〕 〔7〕如果學(xué)生“三〞的數(shù)據(jù)

4、結(jié)構(gòu)的成績低于65,如此加上10分。 〔8〕將成績最低的學(xué)生的成績加上10分。 〔9〕將前3名成績最高的學(xué)生的成績減去10分。 〔10〕為沒有選課的學(xué)生自動(dòng)增加選修“01〞課程的選課記錄。 〔11〕把選修“數(shù)學(xué)〞不與格的成績?nèi)扛某煽罩怠? 〔12〕刪除成績低于總平均成績的女生的選課記錄。 三、實(shí)驗(yàn)環(huán)境 四、調(diào)試過程 五、實(shí)驗(yàn)結(jié)果 六、總結(jié) 通過此次實(shí)驗(yàn): 1. 我知道了視圖不是一真實(shí)的表格,是一個(gè)虛擬的存在形式。 2. 掌握了對視圖的創(chuàng)建〔create

5、 or replace〕:當(dāng)視圖不存在時(shí)可使用create進(jìn)展創(chuàng)建;而如果不確定視圖是否已存在,但此時(shí)又需要建立一此名稱的視圖時(shí),可使用replace創(chuàng)建,如果視圖名已存在也不會(huì)出現(xiàn)沖突,而是進(jìn)展替換。 3. 在創(chuàng)建視圖時(shí)如果使用了with check option表示在視圖上執(zhí)行UPDATEINSERT或DELETE操作時(shí),要保證所修改的行滿足視圖定義中的謂詞條件,即SELECT查詢子句中的限定條件:如Where條件,這樣可以確保數(shù)據(jù)修改后仍可通過視圖看到修改的數(shù)據(jù)。 4. 分清楚了對視圖結(jié)構(gòu)的修改〔alter〕、對視圖數(shù)據(jù)的修改〔update〕。同時(shí)對視圖上的計(jì)算列、置函數(shù)列和行集

6、合函數(shù)列不能修改。 5. 知道了對視圖數(shù)據(jù)的刪除操作〔delete〕。 6. 通過第二題的訓(xùn)練也使我對數(shù)據(jù)庫數(shù)據(jù)的更新語句有了更多的體會(huì)和認(rèn)識(shí)。 7. 第二題第五小題,要求三種方法,只寫出了兩種,第三種有點(diǎn)沒轍。而其他題目有的沒要求,因?yàn)樵谒伎歼^程有別的思路,也有多寫了相關(guān)方法。 附錄: --1、視圖 --〔1〕建立名為UV_SC的視圖。該視圖可以讓我們看到每個(gè)學(xué)生的、選修課程名和成績。 createview UV_SC as select sname,ame,grade from student s,course c,sc where s.sno=sc.sn

7、o and c.o=sc.o select*from UV_SC --〔2〕利用UV_SC視圖,查看平均成績在分以上的學(xué)生。 select sname from UV_SC groupby sname havingavg(grade)>80 --〔3〕建立名為UV_Course的視圖,該視圖顯示每門課的課程名和選修該課程的學(xué)生人數(shù)。 createview UV_Course as selectame,count(*)as'選修人數(shù)' from course c,sc where c.o=sc.o groupbyame select*from UV_C

8、ourse --〔4〕修改視圖UV_Course,在視圖中增加一列,顯示選修該課程所有學(xué)生的平均成績。 alterview UV_Course as selectame,count(*)as' 選修人數(shù)',avg(grade)as'平均成績' from course c,sc where c.o=sc.o groupbyame select*from UV_Course --〔5〕建立名為UV_IS_Depart的視圖。該視圖可以用來查看“信息系〞的學(xué)生的學(xué)號(hào)、、年齡和系名。并保證對該視圖的修改滿足系名為信息系的條件。 createview UV_IS_Depa

9、rt as select sno,sname,sage,sdept from student s where sdept='信息系' withcheckoption select*from UV_IS_Depart --〔6〕建立名為UV_Student的加密視圖。該視圖可以用來查看每個(gè)學(xué)生選修的課程門數(shù)和平均成績。 createview UV_Student(sno,course_no,avg_grade) with encryption as select sno,count(*),avg(grade) from sc groupby sno sel

10、ect*from UV_Student --〔7〕利用UV_Student視圖,查詢平均成績在分以上的學(xué)生學(xué)號(hào)。 select sno from UV_Student where avg_grade>=80 --〔8〕能否利用視圖UV_Student,修改某個(gè)學(xué)生的平均成績? update UV_Student set avg_grade=70 where sno=95001 --〔9〕刪除視圖UV_Student。 dropview UV_Student --2、數(shù)據(jù)更新 --〔1〕向STUDENT表增加如下記錄: --Sno Sname Ssex

11、Sage Saddress Sdept --95011 王一鳴 男 20 市 計(jì)算機(jī)系 insertinto student(sno,sname,ssex,sage,saddress,sdept) values('95011','王一鳴','男',20,'市','計(jì)算機(jī)系') altertable student add saddress varchar(50)null--修改表結(jié)構(gòu),增加saddress列 select* from student where sno='95011' --〔2〕將學(xué)號(hào)’’,成績,以與課程表中的所有課程號(hào)插入到SC表中。 inse

12、rtinto sc(sno,o,grade) select'95011',o,80 from course select*from sc --〔3〕建立與表STUDENT同結(jié)構(gòu)的空表STUD。然后利用INSERT命令把表STUDENT中年齡大于的學(xué)生記錄添加到表STUD?!沧⒁猓嚎梢允褂胹elect into語句實(shí)現(xiàn)同結(jié)構(gòu)空表的創(chuàng)建,再使用insert命令插入記錄;或者使用單條select into語句實(shí)現(xiàn)等同的功能〕 --法一 select*into STUD from student where sage>19 --法二 select*into STUD

13、from student where 1=0 insertinto STUD(sno,sname,sage,ssex,sdept,saddress) select sno,sname,sage,ssex,sdept,saddress from student where sage>19 select*from STUD --〔4〕為“〞的學(xué)生增加選修“操作系統(tǒng)〞和“數(shù)據(jù)結(jié)構(gòu)〞這兩門課的選課記錄。 insertinto sc(sno,o,grade) select'95002',o,null from course whereame='操作系統(tǒng)'orame='

14、數(shù)據(jù)結(jié)構(gòu)' select*from sc --〔5〕把課程名為“操作系統(tǒng)〞的成績從成績表SC中刪除?!苍囉萌N方式完成〕 --法一 deletefrom sc whereo in ( selecto from course whereame='操作系統(tǒng)' ) --法二 deletefrom sc whereexists ( selecto from course c whereame='操作系統(tǒng)'and c.o=sc.o ) --法三 --〔6〕將女生的成績提高%。〔試用三種方式完成〕 --法一 update sc s

15、et grade=grade* where sno in ( select sno from student where ssex='女' ) --法二 update sc set grade=grade* whereexists ( select sno from student s where ssex='女'and s.sno=sc.sno ) --法三 update sc set grade=grade* where ( selectcount(*) from student s where s.sno=sc.sno and sse

16、x='女' )=(selectcount(*)from course whereo=sc.o) --〔7〕如果學(xué)生“三〞的數(shù)據(jù)結(jié)構(gòu)的成績低于,如此加上分。 update sc set grade=grade+10 whereexists ( select sno from student s where s.sno=sc.sno and sname='三' ando in ( selecto from course whereame='數(shù)據(jù)結(jié)構(gòu)' ) ) --查看結(jié)果 select sname,ame,grade from student s,

17、course c,sc where s.sno=sc.sno and c.o=sc.o and sname='三'andame='數(shù)據(jù)結(jié)構(gòu)' --〔8〕將成績最低的學(xué)生的成績加上分。 update sc set grade=grade+10 where grade in ( selectmin(grade) from sc ) --〔9〕將前名成績最高的學(xué)生的成績減去分。 update sc set grade=grade-10 where grade in ( selecttop 3 grade from sc orderby grade desc

18、 ) --〔10〕為沒有選課的學(xué)生自動(dòng)增加選修“〞課程的選課記錄。 insertinto sc(sno,o,grade) select sno,'01',null from student where sno notin ( selectdistinct(sno)--不顯示重復(fù)值 from sc ) select*from sc --〔11〕把選修“數(shù)學(xué)〞不與格的成績?nèi)扛某煽罩怠? update sc set grade=null where sno in ( select sno from course c where sc.o=c.o and

19、ame='數(shù)學(xué)'and grade<60 ) --〔12〕刪除成績低于總平均成績的女生的選課記錄。 --法一 deletefrom sc--刪除該女生成績低于總平均成績的該選修記錄 where sno in ( select s.sno from student s where sc.sno=s.sno and ssex='女' groupby s.sno,grade having grade <(selectavg(grade)from sc) ) --法二 deletefrom sc--刪除該女生成績低于總平均成績的該選修記錄 whereexists ( select s.sno from student s where ssex='女'and grade<(selectavg(grade)from sc)and sc.sno=s.sno ) 15 / 16

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!