版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、數(shù)據(jù)庫及其應用實驗報告二實驗序號:B0901000-03 實驗項目名稱:SQL查詢、選擇查詢和動作查詢學號姓名專業(yè)、班實驗地點指導教師時間一、實驗目的及要求1掌握Access表達式的基本概念。了解不同類型數(shù)據(jù)的常量、參數(shù)、運算與函數(shù)的使用。2理解查詢對象的意義和建立方法。3掌握SQL語言中SELECT語句的主要應用。4掌握SQL的插入、更新、刪除操作命令的基本應用。5了解SQL定義數(shù)據(jù)表的基本方法。6理解Access選擇查詢的意義和類別。7掌握一般選擇查詢的操作應用;理解并掌握交叉查詢的應用;理解參數(shù)查詢的意義。8理解Access動作查詢包含的查詢類別。 9將動作查詢與SQL命令進行對比,理解
2、并掌握動作查詢的操作應用。 二、實驗設備(環(huán)境)及要求 PC機,Windows XP,Access 2003,學生管理數(shù)據(jù)庫三、實驗內(nèi)容要求(一) SQL視圖中表達式練習1進入SQL視圖及在不同視圖間切換在Access中進入查詢的設計視圖并在查詢的不同視圖之間切換。2不同類型數(shù)據(jù)的表達式運算在SQL視圖中分別輸入以下命令并運行,對于參數(shù)自己輸入數(shù)據(jù)。查看并寫出各表達式運算結(jié)果。SELECT -5.122+(17 mod 3);SELECT Hello +,World!,LEFT(清華大學出版社,2)+RIGHT(清華大學出版社,3);SELECT 你畢業(yè)的年份是, VAL(LEFT(你的學號,
3、4)+4;SELECT 現(xiàn)在是+STR(YEAR(DATE()+年,現(xiàn)在的時間是:+CSTR(TIME();SELECT 張三李四,ABCD1000;(二)SQL命令進行查詢和操作1練習SQL查詢的SELECT語句啟動教學管理數(shù)據(jù)庫,在數(shù)據(jù)庫窗口對象欄中單擊“查詢”,然后進入SQL視圖。在“SQL視圖”中輸入以下SELECT命令,查看執(zhí)行結(jié)果,并仔細體會查詢的實現(xiàn)。 查詢“學院”、“專業(yè)”、“學生”完整數(shù)據(jù)。SELECT * FROM (學院 INNER JOIN 專業(yè) ON 學院.學院號=專業(yè).學院號) INNER JOIN 學生 ON 專業(yè).專業(yè)號=學生.專業(yè)號); 查詢“工商管理”專業(yè)所
4、有女生信息。SELECT 專業(yè),學生.* FROM 專業(yè) INNER JOIN 學生 ON 專業(yè).專業(yè)號=學生.專業(yè)號WHERE 專業(yè).專業(yè)=工商管理 AND 學生.性別=女; 查詢平均成績在80分以上的各位學生的學號、姓名和平均分。保存為查詢對象,對象名“優(yōu)秀學生”。SELECT 學生.學號,姓名,AVG(成績) AS 平均分 FROM 學生 INNER JOIN 成績 ON 學生.學號=成績.學號 GROUP BY 學生.學號,姓名 HAVING AVG(成績)=80 ;單擊工具欄保存按鈕,彈出“另存為”對話框,輸入“優(yōu)秀學生”,單擊“確定”按鈕。 查詢沒有學生數(shù)據(jù)的專業(yè)編號和專業(yè)。SEL
5、ECT 專業(yè)號,專業(yè) FROM 專業(yè) WHERE 專業(yè)號 NOT IN (SELECT 專業(yè)號 FROM 學生) ; 查詢“湖北”籍1988年以后出生的學生信息。SELECT * FROM 學生 WHERE 籍貫 LIKE 湖北* AND 生日 =#1988-1-1# ; 查詢選課人數(shù)最多的課程的課程號、課程名。SELECT TOP 1 課程.課程號,課程名 FROM 課程 INNER JOIN 成績 ON 課程.課程號=成績.課程號 GROUP BY 課程.課程號,課程名ORDER BY COUNT(*) DESC ;2練習SQL的插入、更新、刪除操作命令 在課程表中插入一門新課,數(shù)據(jù)如命令
6、所示。INSERT INTO 課程VALUES(06020101,會計學原理,3,06); 將“法學院(04)”開設課程的學分增加1分。UPDATE 課程 SET 學分=學分+1 WHERE 學院號=04 刪除“信息學院(09)”開設的沒有學生選修的課程。DELETE FROM 課程 WHERE 學院號=09 AND 課程號 NOT IN (SELECT 課程號 FROM 成績)3創(chuàng)建“教師”表,包括:工號、姓名、性別、生日、職稱、基本工資、學院號。寫出創(chuàng)建命令。(三)選擇查詢操作1進入查詢設計視圖進行交互式選擇查詢設置啟動教學管理數(shù)據(jù)庫。 查詢“專業(yè)”表,顯示開設的所有專業(yè)涉及的學科門類。
7、查詢各專業(yè)學生的人數(shù)。 查詢沒有選課的男學生學號、姓名,即成績表中沒有記錄的學生數(shù)據(jù)。2進行交叉表查詢將學生的“學號”和“姓名”作為行標題,“課程名”作為列標題,成績作為交叉數(shù)據(jù),生成交叉表。3進行參數(shù)查詢通過參數(shù)查詢指定日期以后出生的某個民族的學生信息。(四)動作查詢操作1生成表查詢操作練習將“查詢平均成績在80分以上的各位學生的學號、姓名和平均分”的結(jié)果生成新表,表名“優(yōu)秀學生名單”。2刪除查詢操作刪除“優(yōu)秀學生名單”表中,平均分在85分以下的記錄。3追加查詢操作將平均分在8085分之間的學生及成績數(shù)據(jù)加入“優(yōu)秀學生名單”表, 4更新查詢操作將沒有學生選修的課程的學分減少1分。寫出以上要求
8、的操作步驟并截取必要的圖片。四、回答問題1有哪幾種方式可進入“SQL視圖”?如果用“記事本”編寫了SQL語句,是否可以在SQL視圖中使用?如何操作?2為什么不能在數(shù)字常量前加“¥”或“$”符號表示幣值常量?“¥”或“$”有何作用?3如果在修改“法學院”學分的操作中要求根據(jù)“學院名”作為輸入條件修改數(shù)據(jù),查詢命令應該如何寫?4不保存查詢,與將查詢保存為查詢對象有何區(qū)別?查詢對象有什么作用?5根據(jù)以下給定的查詢要求,寫出對應的查詢命令。 查詢學生中的民族來源,顯示不重復的民族數(shù)據(jù)。 查詢各民族男生和女生的人數(shù)。 查詢沒有學生選修的課程信息以及開課的學院名。 插入幾條教師記錄。 給“教授”職稱的教師
9、的基本工資增加10%。 刪除沒有學生就讀的專業(yè)數(shù)據(jù)。 刪除教師表。6深入體會交叉表查詢的作用,簡述交叉表查詢的實質(zhì)意義。作為行標題的字段最多可以設置幾個?作為列標題和交叉值的字段最多可以設置幾個?7參數(shù)查詢的參數(shù)設置是否一定要通過菜單設置類型?通過菜單設置的參數(shù)是否一定要出現(xiàn)在查詢中?8生成表查詢實現(xiàn)的是SQL語言中什么語句的功能?9追加查詢對應SQL的什么語句?該語句是否只具有追加查詢的功能?若有其他功能,如何實現(xiàn)交互操作?五、分析討論 (根據(jù)實驗寫出一些心得或分析等)六、教師評語1按時完成實驗;2實驗內(nèi)容和過程記錄完整;3回答問題完整、正確;4有實驗的心得或討論;5實驗報告的撰寫認真、格式
10、符合要求,沒有抄襲行為。簽名: 日期:2009.5成績本實驗的操作步驟如下:(一) SQL視圖中表達式練習:1進入SQL視圖及在不同視圖間切換如上圖可知:要在設計視圖,SQL視圖,以及顯示查詢結(jié)果的數(shù)據(jù)表視圖之間進行切換,以便查看可視化設計、SQL命令以及查詢數(shù)據(jù)時,就通過這個工具欄按鈕進行選擇切換。2不同類型數(shù)據(jù)的表達式運算SELECT -5.122+(17 mod 3)SELECT Hello +,World!,LEFT(清華大學出版社,2)+RIGHT(清華大學出版社,3)SELECT 你畢業(yè)的年份是, VAL(LEFT(你的學號,4)+4SELECT 現(xiàn)在是+STR(YEAR(DATE
11、()+年,現(xiàn)在的時間是:+CSTR(TIME()SELECT 張三李四,ABCD1000(二)SQL命令進行查詢和操作1 練習SQL查詢的SELECT語句 查詢“學院”、“專業(yè)”、“學生”完整數(shù)據(jù) 查詢“工商管理”專業(yè)所有女生信息 查詢平均成績在80分以上的各位學生的學號、姓名和平均分。保存為查詢對象,對象名“優(yōu)秀學生” 查詢沒有學生數(shù)據(jù)的專業(yè)編號和專業(yè) 查詢“湖北”籍1988年以后出生的學生信息 查詢選課人數(shù)最多的課程的課程號、課程名2 練習SQL的插入、更新、刪除操作命令 在課程表中插入一門新課 將“法學院(04)”開設課程的學分增加1分 刪除“信息學院(09)”開設的沒有學生選修的課程3
12、 創(chuàng)建“教師”表,包括:工號、姓名、性別、生日、職稱、基本工資、學院號。創(chuàng)建命令如下:CREATE TABLE 教師(工號 TEXT(6) PRIMARY KEY,姓名 TEXT(10) NOT NULL,性別 TEXT(2),生日 DATE,職稱TEXT(8),基本工資 MONEY,學院號 TEXT(2) REFERENCE 學院(學院號));(三)選擇查詢操作1進入查詢設計視圖進行交互式選擇查詢設置 查詢“專業(yè)”表,顯示開設的所有專業(yè)涉及的學科門類步驟:將“專業(yè)”表加入設計視圖,在QBE界面中“字段”“欄選擇”“專業(yè)類別”字段顯示,因為字段的值有重復,因此,在設計視圖的空白處單擊右鍵,從彈
13、出的快捷菜單中選擇“屬性”命令,打開屬性對話框,選擇“唯一值”“屬性值”“是” 查詢各專業(yè)學生的人數(shù)步驟:將“專業(yè)”表和“學生”表加入設計視圖,在QBE界面中“字段”欄選中“專業(yè)號”和“專業(yè)”字段顯示,然后單擊工具欄中的“總計”按鈕,在QBE中增加“總計”欄,將“專業(yè)號”和“專業(yè)”字段設置為分組,然后選擇學生”表的”學號”字段,設置其為”計數(shù)”,最后再學號前面加上”人數(shù)”,作為查詢的列名,設計完成,運行即可。 查詢沒有選課的男學生學號、姓名,即成績表中沒有記錄的學生數(shù)據(jù)步驟:將“學生”表加入設計視圖,選擇“學號”“姓名”字段顯示,在第三列處輸入“注:尚未選課”,選中“顯示”復選框,然后再第四列
14、中選擇“學號”但不顯示,只是作為比較的對象,在“條件”欄中輸入一個子查詢“Not In (SELECT 學號 FROM 成績)”,設置完畢后運行即可。2進行交叉表查詢將學生的“學號”和“姓名”作為行標題,“課程名”作為列標題,成績作為交叉數(shù)據(jù),生成交叉表步驟:啟動選擇查詢設計窗口,講學生成績和課程表加入設計窗口,選擇查詢,交叉表查詢命令,在QBE窗格中選擇學生表的學號,姓名作為行標題,課程名作為列標題,成績總計后作為值,這樣交叉表設計完畢,運行即可看到交叉表查詢的效果。3進行參數(shù)查詢通過參數(shù)查詢指定日期以后出生的某個民族的學生信息步驟:啟動選擇查詢設計窗口,將“學生”表加入設計窗口,在QBE窗
15、口中選擇“*”表示輸出學生表所有字段,然后選中“生日”字段,去掉“顯示”行的復選框,在條件行輸入SR;按同樣方式設置“民族”字段。(四)動作查詢操作1 生成表查詢操作練習將“查詢平均成績在80分以上的各位學生的學號、姓名和平均分”的結(jié)果生成新表,表名“優(yōu)秀學生名單”步驟:輸入SQL命令后,選擇“查詢”“生成表”查詢,彈出“生成表”對話框,輸入表的名稱,單擊“確定”即可,運行查詢,結(jié)果被保存到當前數(shù)據(jù)庫中。2刪除查詢操作刪除“優(yōu)秀學生名單”表中,平均分在85分以下的記錄步驟:進入設計視圖,加入優(yōu)秀學生名單表,選擇查詢刪除查詢命令,這是窗口改為刪除查詢,QBE欄目發(fā)生變化,出現(xiàn)刪除欄,調(diào)整或撤銷其
16、他欄。在字段欄中選擇平均分,這是刪除欄值默認為Where。在條件欄輸入=80 and 85;選擇“查詢”“追加查詢”命令,打開“追加”對話框,選擇“優(yōu)秀學生名單”表,單擊“確定”按鈕;這時設計視圖的QBE窗格中增加“追加到”欄,選擇“學號”,“姓名”和“平均分”字段,設計完成,運行查詢,數(shù)據(jù)被追加到”優(yōu)秀學生名單”表中。4更新查詢操作將沒有學生選修的課程的學分減少1分步驟:啟動設計視圖,添加“課程”表,選擇“查詢”“更新查詢”命令,設計視圖變?yōu)椤案虏樵儭保琎BE窗格中增加更新到欄;選中“學分”字段,然后再“更新到”欄中輸入“課程.學分-1”;選中“課程號”字段,在“條件”欄中輸入“Not I
17、n (SELECT 課程號 FROM 成績)”,設計完成,單擊“運行”按鈕查詢即可。四、回答問題1. 有這兩種方式可以進入SQL視圖:通過“查詢設計”工具欄上的“查詢”可以進入“SQL視圖”;在查詢設計工具欄上的第一個按鈕上單擊,降下拉出一個選擇列表,在列表中單擊“SQL視圖”即可。如果用“記事本”編寫了SQL語句,可以在SQL視圖中使用;操作方法:只要編寫的SQL語句都是在英文狀態(tài)下輸入的,只需將其復制粘貼到SQL視圖中運行即可。2. 因為數(shù)據(jù)庫表中有固定的貨幣型設計,限制了是貨幣型的時候,只需輸入相應的數(shù)據(jù)即可;“¥”或“$”是當限制位數(shù)字型的時候,就能夠表示輸入的數(shù)據(jù)是貨幣型。3. 查詢
18、命令:UPDATE 課程 SET 學分=學分+1 WHERE 學院名=法學院4. 不保存查詢,下次打開查詢的時候就沒有查詢的記錄,保存的話下次打開查詢的時候就看得到查詢,方便查看操作過的內(nèi)容;查詢對象的作用:下次操作的時候可以直接運行查詢進行其他的操作。5. SELECT 學生.民族FROM 學生WHERE (學生.民族)=不重復的民族);SELECT 學生.民族, Count(學生.性別) AS 人數(shù)FROM 學生GROUP BY 學生.民族HAVING (Count(學生.性別)=男 and (Count(學生.性別)=女);SELECT 課程.課程號, 課程.課程名, 課程.學分, 學院.學院名, 課程.課程號, 課程.課程名, 課程.學分, 沒有學生選修 AS 注, 學院.學院名FROM 學院 INNER JOIN 課程 ON 學院.學院號 = 課程.學院號;INSERT 教師 VALUES(*)UPDATE 教師 SET 基本工資=基本工資+基本工資*10% WHERE 職稱=”教授”DELETE FROM 專業(yè) WHERE 專業(yè)號 Not In (Select學號 6. 交叉表查詢的作用是進行一種特殊的匯總查詢,作為行標題的字段最多可以設置2個,作為列標題和交叉值的字段最多可以設置1個。7. 參數(shù)查詢的參數(shù)設置一定要通過菜單設置類型;通過菜單設置的參數(shù)不一定要出
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人股份代持與公司治理協(xié)議4篇
- 2025年度個人聯(lián)保借款合同金融科技試點版2篇
- 2025年度個人房產(chǎn)買賣合同附件清單范本3篇
- 二零二五年度美容院消防安全管理與應急預案合同4篇
- 2025年度個人教育資助貸款延期合同4篇
- 二零二五年度新型門店合伙人收益分配管理合同4篇
- 2025年度汽車租賃保險及理賠服務合同范本3篇
- 2024年中職學校教師個人工作計劃
- 花崗巖貼面施工方案
- 軸承密封套課程設計
- 【人教版】九年級化學上冊期末試卷及答案【【人教版】】
- 四年級數(shù)學上冊期末試卷及答案【可打印】
- 人教版四年級數(shù)學下冊課時作業(yè)本(含答案)
- 中小學人工智能教育方案
- 高三完形填空專項訓練單選(部分答案)
- 護理查房高鉀血癥
- 項目監(jiān)理策劃方案匯報
- 《職業(yè)培訓師的培訓》課件
- 建筑企業(yè)新年開工儀式方案
- 營銷組織方案
- 初中英語閱讀理解專項練習26篇(含答案)
評論
0/150
提交評論