《數(shù)據(jù)庫原理及應(yīng)用實驗》_第1頁
《數(shù)據(jù)庫原理及應(yīng)用實驗》_第2頁
《數(shù)據(jù)庫原理及應(yīng)用實驗》_第3頁
《數(shù)據(jù)庫原理及應(yīng)用實驗》_第4頁
《數(shù)據(jù)庫原理及應(yīng)用實驗》_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、學(xué)院 班級 學(xué)號 姓名 數(shù)據(jù)庫原理與應(yīng)用實驗實驗報告冊 學(xué)年 第 學(xué)期學(xué) 院:專 業(yè):年 級:姓 名:學(xué) 號:任課教師:MySQL+Navicat安裝步驟與下載地址 百度地址:Navicat配置與簡單使用 百度地址:本文檔所書寫的代碼,為本人純手工敲打,并且通過軟件測試成功,歡迎大家進行學(xué)習(xí),如有錯誤,可聯(lián)系本人郵箱2960223883實驗一 創(chuàng)建和維護數(shù)據(jù)庫一、實驗?zāi)康模?)掌握在Windows 平臺下安裝與配置MySQL 5.5 的方法。(2)掌握啟動服務(wù)并登錄MySQL 5.5 數(shù)據(jù)庫的方法和步驟。(3)掌握MySQL 數(shù)據(jù)庫的相關(guān)概念。(4)掌握使用Navicat 工具和SQL 語句創(chuàng)

2、建數(shù)據(jù)庫的方法。(5)掌握使用Navicat 工具和SQL 語句刪除數(shù)據(jù)庫的方法。二、實驗要求(1)學(xué)生提前準備好實驗報告,預(yù)習(xí)并熟悉實驗步驟;(2)遵守實驗室紀律,在規(guī)定的時間內(nèi)完成要求的內(nèi)容;三、實驗內(nèi)容及步驟(1)在Windows 平臺下安裝與配置MySQL 5.5.36 版。(2)在服務(wù)對話框中,手動啟動或者關(guān)閉MySQL 服務(wù)。(3)使用Net 命令啟動或關(guān)閉MySQL 服務(wù)。(4)分別用Navicat 工具和命令行方式登錄MySQL。(5)在my.ini 文件中將數(shù)據(jù)庫的存儲位置改為D:MYSQLDATA。(6)創(chuàng)建數(shù)據(jù)庫。 使用Navicat 創(chuàng)建學(xué)生信息管理數(shù)據(jù)庫gradem。

3、 使用SQL 語句創(chuàng)建數(shù)據(jù)庫MyDB。(7)刪除數(shù)據(jù)庫。 使用Navicat 圖形工具刪除gradem 數(shù)據(jù)庫。 使用SQL 語句刪除MyDB 數(shù)據(jù)庫。四、思考題常見的數(shù)據(jù)庫產(chǎn)品有哪些?五、實驗總結(jié)1、收獲2、存在的問題實驗二 管理表一、實驗?zāi)康?1) 掌握表的基礎(chǔ)知識。(2) 掌握使用Navicat管理工具和SQL語句創(chuàng)建表的方法。(3) 掌握表的修改、查看、刪除等基本操作方法。二、實驗要求(1)學(xué)生提前準備好實驗報告,預(yù)習(xí)并熟悉實驗步驟;(2)遵守實驗室紀律,在規(guī)定的時間內(nèi)完成要求的內(nèi)容;三、實驗內(nèi)容及步驟(1)在gradem數(shù)據(jù)庫中創(chuàng)建表2.1表2.5所示結(jié)構(gòu)的表。表2.1 studen

4、t表的表結(jié)構(gòu)字段名稱數(shù)據(jù)類型長度小數(shù)位數(shù)是否允許NULL值說明snochar10否主碼snamevarchar8是ssexchar2是sbirthdaydatetime是saddressvarchar50是sdeptchar16是specialityvarchar20是表2.2 course表(課程名稱表)的表結(jié)構(gòu)字段名稱數(shù)據(jù)類型長度小數(shù)位數(shù)是否允許NULL值說明cnochar5否主碼cnamevarchar20否表2.3 sc表(成績表)的表結(jié)構(gòu)字段名稱數(shù)據(jù)類型長度小數(shù)位數(shù)是否允許NULL值說明snochar10否組合主碼、外碼cnochar5否組合主碼、外碼degreedecimal41是

5、1100表2.4 teacher表(教師表)的表結(jié)構(gòu)字段名稱數(shù)據(jù)類型長度小數(shù)位數(shù)是否允許NULL值說明tnochar3否主碼tnamevarchar8是tsexchar2是tbirthdaydate是tdeptchar16是表2.5 teaching表(授課表)的表結(jié)構(gòu)字段名稱數(shù)據(jù)類型長度小數(shù)位數(shù)是否允許NULL值說明cnochar5否組合主碼、外碼tnochar3否組合主碼、外碼ctermtinyint10是110(2) 向表2.1至表2.5輸入數(shù)據(jù)記錄,見表2.6表2.10。表2.6 學(xué)生關(guān)系表studentsnosnamessexsbirthdaysaddresssdeptspecial

6、ity20050101李勇男1987-01-12山東濟南計算機工程系計算機應(yīng)用20050201劉晨女1988-06-04山東青島信息工程系電子商務(wù)20050301王敏女1989-12-23江蘇蘇州數(shù)學(xué)系數(shù)學(xué)20050202張立男1988-08-25河北唐山信息工程系電子商務(wù)表2.7 課程關(guān)系表coursecnocnamecnocnameC01數(shù)據(jù)庫C03信息系統(tǒng)C02數(shù)學(xué)C04操作系統(tǒng)表2.8 成績表scsnocnodegree20050101C019220050101C028520050101C038820050201C029020050201C0380表2.9 教師表teachertnot

7、nametsextbirthdaytdept101李新男1977-01-12計算機工程系102錢軍女1968-06-04計算機工程系201王小花女1979-12-23信息工程系202張小青男1968-08-25信息工程系表2.10 授課表teachingcnotnoctermC011012C021021C032013C042024(3)在navicat下修改表結(jié)構(gòu)。 向student表中增加“入學(xué)時間”列,其數(shù)據(jù)類型為日期時間型。 將student表中的sdept字段長度改為20。 將student表中的speciality字段刪除。 刪除student表。(4) 利用SQL命令(create

8、 table、alter table、drop table)完成對表的操作利用create talbe 命令完成student表和course表的定義。利用alter table、drop table命令實現(xiàn)(3)中的所有任務(wù)。四、思考題(1) 在定義基本表語句時,NOT NULL參數(shù)的作用是什么?(2) 主碼可以建立在“值可以為NULL”的列上嗎?五、實驗總結(jié):1、收獲2、存在的問題實驗三 簡單查詢單表無條件和有條件查詢一、實驗?zāi)康?1) 掌握SELECT語句的基本用法。(2) 使用WHERE子句進行有條件的查詢。(3) 掌握使用IN和NOT IN,BETWEENAND和NOT BETWEE

9、NAND來縮小查詢范圍的方法。(4) 利用LIKE子句實現(xiàn)字符串匹配查詢。二、實驗要求1、學(xué)生提前準備好實驗報告,預(yù)習(xí)并熟悉實驗步驟;2、遵守實驗室紀律,在規(guī)定的時間內(nèi)完成要求的內(nèi)容;三、實驗內(nèi)容及步驟在上次實驗建立的Gradem或Gradem1數(shù)據(jù)庫中完成下面查詢:(1) 查詢所有學(xué)生的基本信息、所有課程的基本信息和所有學(xué)生的成績信息(用三條SQL語句)。SELECT *FROM student;SELECT *FROM course;SELECT *FROM sc;(2) 查詢所有學(xué)生的學(xué)號、姓名、性別和出生日期。SELECT sno,sname,ssex,sbirthdayFROM st

10、udent;(3) 查詢所有課程的課程名稱。SELECT cnameFROM course(4) 查詢前10門課程的課號及課程名稱。SELECT cno,cnameFROM courseWHERE cno<=10(5) 查詢所有學(xué)生的姓名及年齡。SELECT sname ,year(now()-year(sbirthday)FROM student;(6) 查詢所有年齡大于18歲的女生的學(xué)號和姓名。SELECT sno,snameFROM studentWHERE ssex='女'and year(now()-year(sbirthday)>18(7) 查詢所有男生

11、的信息。SELECT *FROM student,teacherWHERE ssex='男'and tsex='男'(8) 查詢所有任課教師的姓名(Tname)和所在系別(Tdept)。SELECT tname,tdeptFROM teacher(9) 查詢“電子商務(wù)”專業(yè)的學(xué)生姓名、性別和出生日期。SELECT sname,ssex,sbirthdayFROM studentWHERE sdept='電子商務(wù)'(10) 查詢Student表中的所有系名。SELECT sdeptFROM student(11) 查詢“C01”課程的開課學(xué)期。SE

12、LECT ctermFROM teachingWHERE cno='c01'(12) 查詢成績在8090分之間的學(xué)生學(xué)號及課號。SELECT sno,cnoFROM scWHERE degree BETWEEN 80 and 90(13) 查詢在1970年1月1日之前出生的男教師信息。SELECT *FROM teacherWHERE tbirthday<'1970-01-01'and tsex=男;(14) 輸出有成績的學(xué)生學(xué)號。SELECT snoFROM scWHERE degree is NOT NULL;(15) 查詢所有姓“劉”的學(xué)生信息。SE

13、LECT *FROM studentWHERE sname LIKE'劉%'(16) 查詢生源地不是山東省的學(xué)生信息。SELECT *FROM studentWHERE saddress NOT LIKE'山東%'(17) 查詢成績?yōu)?9分、89分或99分的記錄。SELECT *FROM scWHERE degree='79' or degree='89' or degree='99'(18) 查詢名字中第二個字是“小”字的男生的學(xué)生姓名和地址。SELECT sname,saddressFROM studentWH

14、ERE ssex='男' and sname LIKE'_小'(19) 查詢名稱以“計算機_”開頭的課程名稱。SELECT cnameFROM courseWHERE cname LIKE'計算機_'(20) 查詢計算機工程系和軟件工程系的學(xué)生信息。SELECT *FROM studentWHERE sdept='計算機工程系' OR sdept='軟件工程系'四、思考題1、LIKE的通配符有哪些?分別代表什么含義?通配符 含義% 有零個或更多個字符組成的任意字符串_ 任意單個字符 用于指定范圍,例如A F,表示A

15、 F范圍內(nèi)的任何單個字符 表示指定范圍之外的,例如 A F ,表示A F 范圍以外的任何單個字符。2、知道學(xué)生的出生日期,如何求出其年齡?SELECT year(now()-year(sbirthday)FROM student;3、IS能用“=”來代替嗎?不能is是用來判斷null的,比如 remark is null 或者remark is not null=是用來直接比較值的。4、關(guān)鍵字ALL和DISTINCT有什么不同的含義?ALL表示所有的字段,有重復(fù)的2條,2 條都顯示,DISTINCT表示如果有重復(fù)的,只取一條。五、實驗總結(jié):1、收獲經(jīng)過這節(jié)數(shù)據(jù)庫課程的學(xué)習(xí),我基本上掌握了創(chuàng)建數(shù)

16、據(jù)庫以及對數(shù)據(jù)庫的操作的基礎(chǔ)知識。學(xué)習(xí)了SQL數(shù)據(jù)庫中的增、刪、改、查等功能,數(shù)據(jù)庫這門課涉及到以前的知識不多,是一門從頭學(xué)起的課程,即使基礎(chǔ)不是很好,只要認真聽講、復(fù)習(xí)功課,還是一門比較容易掌握的課。2、存在的問題 不夠熟悉對數(shù)據(jù)庫系統(tǒng)的操作,不會運用快捷鍵,需要更多的練習(xí)和操作。實驗四 簡單查詢分組與排序一、實驗?zāi)康模?1) 利用GROUP BY子句對查詢結(jié)果分組。(2) 利用ORDER BY子句對查詢結(jié)果排序。(3) 掌握聚集函數(shù)的使用方法。二、實驗要求1、學(xué)生提前準備好實驗報告,預(yù)習(xí)并熟悉實驗步驟;2、遵守實驗室紀律,在規(guī)定的時間內(nèi)完成要求的內(nèi)容;三、實驗內(nèi)容及步驟在Gradem或Gr

17、adem1數(shù)據(jù)庫中完成下面查詢:(1) 統(tǒng)計有學(xué)生選修的課程的門數(shù)。SELECT COUNT(DISTINCT cno)FROM course(2) 計算“c01”課程的平均成績。SELECT AVG(degree)FROM scWHERE cno='c01'(3) 查詢選修了“c03”課程的學(xué)生的學(xué)號及其成績,查詢結(jié)果按分數(shù)降序排列。SELECT sno,degreeFROM scWHERE cno='c03' ORDER BY degree DESC;(4) 查詢各個課程號及相應(yīng)的選課人數(shù)。SELECT cno,COUNT(sno)FROM scGROUP

18、BY cno(5) 統(tǒng)計每門課程的選課人數(shù)和最高分。SELECT COUNT(sno),MAX(degree)FROM scGROUP BY cno(6) 統(tǒng)計每個學(xué)生的選課門數(shù)和考試總成績,并按選課門數(shù)降序排列。SELECT COUNT(sno),sum(degree)FROM scGROUP BY snoORDER BY COUNT(sno) DESC;(7) 查詢選修了3門以上課程的學(xué)生學(xué)號。SELECT snoFROM scGROUP BY snoHAVING COUNT(cno)>3(8) 查詢成績不及格的學(xué)生學(xué)號及課號,并按成績降序排列。SELECT sno,cnoFROM

19、scWHERE degree<60ORDER BY degree DESC(9) 查詢至少選修一門課程的學(xué)生學(xué)號。SELECT snoFROM scGROUP BY snoHAVING COUNT(cno)>1(10) 統(tǒng)計輸出各系學(xué)生的人數(shù)SELECT sdept ,COUNT(*)FROM studentGROUP BY sdept(11) 統(tǒng)計各系的男、女生人數(shù)。(兩條命令)Select sdept,ssex,count(*)From studentGroup by sdept ,ssex(12) 統(tǒng)計籍貫的男、女生人數(shù)。(兩條命令)Select saddress,ssex,

20、count(*)From studentGroup by saddress ,ssex(13) 統(tǒng)計各系的老師人數(shù),并按人數(shù)升序排序。SELECT tdept ,COUNT(*)FROM teacherGROUP BY tdeptORDER BY COUNT(*) DESC(14) 統(tǒng)計不及格人數(shù)超過10人的課程號。SELECT cnoFROM scGROUP BY cnoHAVING COUNT(degree<60)>10(15)統(tǒng)計選修人數(shù)超過10人的課程號。SELECT cnoFROM scGROUP BY cnoHAVING COUNT(*)>10(16) 查詢軟件系

21、的男生信息,查詢結(jié)果按出生日期升序排序,出生日期相同的按地址降序排序。SELECT *FROM studentWHERE ssex='男' and sdept='信息工程系'ORDER BY sbirthday,saddress DESC四、思考題(1) 聚集函數(shù)能否直接使用在SELECT子句、HAVING子句、WHERE子句、GROUP BY子句中? (2) WHERE子句與HAVING子句有何不同?五、實驗總結(jié):1、收獲2、存在的問題實驗五 多表查詢一、實驗?zāi)康?1) 掌握SELECT語句在多表查詢中的應(yīng)用。(2) 掌握多表連接的幾種連接方式及應(yīng)用。二、實驗

22、要求1、學(xué)生提前準備好實驗報告,預(yù)習(xí)并熟悉實驗步驟;2、遵守實驗室紀律,在規(guī)定的時間內(nèi)完成要求的內(nèi)容;三、實驗內(nèi)容及步驟:在Gradem或Gradem1數(shù)據(jù)庫中完成下面查詢:(1) 查詢計算機工程系女學(xué)生的學(xué)生學(xué)號、姓名及考試成績。SELECT student.sno,sname,sc.degreeFROM student,scWHERE student.sno=sc.sno and student.sdept='計算機工程系' and student.ssex='女'(2) 查詢“李勇”同學(xué)所選課程的成績。(不考慮重名)SELECT sc.degreeFROM

23、 student,scWHERE student.sno=sc.sno and student.sname='李勇'(3) 查詢“李新”老師所授課程的課程名稱。SELECT ameFROM teacher,teaching,courseWHERE teacher.tno=teaching.tno and o=o and teacher.tname='李新'(4) 查詢女教師所授課程的課程號及課程名稱。SELECT ame,oFROM teacher,teaching,courseWHERE teacher.tno=teaching.tno and o=o and

24、 teacher.tsex='女'(5) 查詢至少選修一門課程的女學(xué)生姓名。SELECT student.snameFROM student,scWHERE student.sno=sc.sno AND student.ssex='女'GROUP BY student.snoHAVING COUNT(o)>1(6) 查詢姓“王”的學(xué)生所學(xué)的課程名稱。SELECT ameFROM student,sc,courseWHERE student.sno=sc.sno AND o=o AND sname='王%'(7) 查詢選修“數(shù)據(jù)庫”課程且成績

25、在8090分之間的學(xué)生學(xué)號及成績。SELECT sc.degree,student.snoFROM student,sc,courseWHERE student.sno=sc.sno AND o=o AND cname='數(shù)據(jù)庫' AND degree BETWEEN 80 AND 90(8) 查詢課程成績及格的男同學(xué)的學(xué)生信息及課程號與成績。SELECT student.*,o,sc.degreeFROM student,sc,courseWHERE student.sno=sc.sno AND o=o AND degree>60 AND ssex='男'

26、;(9) 查詢選修“c04”課程的學(xué)生的平均年齡。SELECT AVG(year(NOW()-YEAR(sbirthday)FROM student,sc,courseWHERE student.sno=sc.sno AND o=o AND o='c04'(10) 查詢學(xué)習(xí)課程名為“數(shù)學(xué)”的學(xué)生學(xué)號和姓名。SELECT student.sno,snameFROM student,sc,courseWHERE student.sno=sc.sno AND o=o AND cname='數(shù)學(xué)'(11) 查詢“錢軍”教師任課的課程號,選修其課程的學(xué)生的學(xué)號、姓名和成績

27、。SELECT o,student.sno,sname,sc.degreeFROM teacher,teaching,course,student,scWHERE teacher.tno=teaching.tno and o=o and o=oand sc.sno=student.sno and teacher.tname='錢軍'(12) 查詢在第3學(xué)期所開課程的課程名稱及成績。SELECT ame,sc.degreeFROM course,sc,teachingWHERE o=o and o=oand cterm='3'(13) 查詢“c02”號課程不及格的

28、學(xué)生信息。SELECT student.*FROM student,scWHERE student.sno=sc.sno and cno='c02' and degree<60 and degree IS NULL(14) 查詢軟件系成績在90分以上的學(xué)生姓名、性別和課程名稱。SELECT student.sname,ssex,ameFROM student,sc,courseWHERE student.sno=sc.sno and o=o and sdept='軟件系' AND degree>90(15) 查詢同時選修了“c04”和“c02”課程的

29、學(xué)生姓名和成績。SELECT student.sname,sc.degreeFROM student,sc,courseWHERE student.sno=sc.sno and o=o and o ='c04' AND o ='c02'四、思考題(1) 指定一個較短的別名有什么好處?更容易辨識方便查看(2) 內(nèi)連接與外連接有什么區(qū)別?內(nèi)連接: 只有兩個表相匹配的行才能在結(jié)果集中出現(xiàn) 外連接: 包括 左外連接(左邊的表不加限制) 右外連接(右邊的表不加限制) 全外連接(左右兩表都不加限制) (3) “=”與IN在什么情況下作用相同?選值只有一個五、實驗總結(jié)1、收獲

30、 經(jīng)過近一個小時的調(diào)試,編寫,最終得出結(jié)論,并進行書寫。使我加深了對mysql進一步學(xué)習(xí)和認識,更加熟練了對軟件的使用,收獲頗豐。2、存在的問題對于語句的使用略顯生疏,需要進一步的練習(xí),加深認識。實驗六 嵌套查詢一、實驗?zāi)康?1) 掌握嵌套查詢的使用方法。(2) 掌握相關(guān)子查詢與嵌套子查詢的區(qū)別。(3) 掌握帶IN謂詞的子查詢的使用方法。(4) 掌握帶比較運算符的子查詢的使用方法。二、實驗要求1、學(xué)生提前準備好實驗報告,預(yù)習(xí)并熟悉實驗步驟;2、遵守實驗室紀律,在規(guī)定的時間內(nèi)完成要求的內(nèi)容;三、實驗內(nèi)容及步驟在Grademanager數(shù)據(jù)庫中完成下面查詢:(1) 查詢計算機系(CS)學(xué)生的學(xué)生學(xué)

31、號、姓名及考試成績。SELECT student.sno,student.sname,SC.degreeFROM student,scWHERE student.sno=sc.sno AND sdept='計算機系' ;(2) 查詢“李勇”同學(xué)所選課程的成績。SELECT sc.degreeFROM sc,studentWHERE student.sno=sc.sno AND sname='李勇'(3) 查詢“李新”老師所授課程的課程名稱。SELECT ameFROM course,teacher,teachingWHERE teacher.tno=teachi

32、ng.tno AND o=o AND tname='李新'(4) 查詢女教師所授課程的課程號及課程名稱。SELECT o,ameFROM teaching,teacher,courseWHERE teacher.tno=teaching.tno AND o=o AND tsex='女'(5) 查詢姓“王”的學(xué)生所學(xué)的課程名稱。SELECT ameFROM course,student,scWHERE student.sno=sc.sno AND o=o AND sname LIKE '王%'(6) 查詢選修“數(shù)據(jù)庫”課程且成績在8090分之間的學(xué)

33、生學(xué)號及成績。SELECT sc.sno,sc.degreeFROM course,scWHERE o=o AND ame='數(shù)據(jù)庫' AND degree BETWEEN 80 AND 90;(7) 查詢選修“C04”課程的學(xué)生的平均年齡。SELECT AVG(YEAR(CURDATE()-YEAR(student.sbirthday) AS 選修C04課程的學(xué)生平均年齡FROM student,scWHERE student.sno=sc.sno AND o='c04'(8) 查詢學(xué)習(xí)課程名為“數(shù)學(xué)”的學(xué)生學(xué)號和姓名。SELECT student.sno,s

34、tudent.snameFROM student,course,scWHERE student.sno=sc.sno AND o=o AND ame='數(shù)學(xué)'(9) 查詢“錢軍”教師任課的課程號,選修其課程的學(xué)生的學(xué)號和成績。SELECT cno,sno,degreeFROM scWHERE cno in(SELECT cno FROM teaching,teacher WHERE teacher.tno=teaching.tno AND tname='錢軍')(10) 查詢在第3學(xué)期所開課程的課程號及成績。SELECT cno,degree FROM scWH

35、ERE cno in(SELECT cno FROM teaching WHERE cterm='3')(11) 查詢與“李勇”同一個系的同學(xué)姓名。SELECT snamefrom studentWHERE sdept in( SELECT sdept FROM student WHERE sname='李勇')(12) 查詢學(xué)號比“劉晨”同學(xué)大,而出生日期比他小的學(xué)生姓名。SELECT snamefrom studentWHERE sno<ANY(SELECT sno from student WHERE sname='劉晨') and

36、year(sbirthday)>all (SELECT year(sbirthday) from student WHERE sname='劉晨')(13) 查詢出生日期大于所有女同學(xué)出生日期的男同學(xué)的姓名及系別。select sname,sdeptfrom studentwhere year(sbirthday)>all(select year(sbirthday)from student where ssex='女' ) and ssex='男'(14) 查詢成績比該課程平均成績高的學(xué)生的學(xué)號及成績。select sno,degr

37、eefrom scwhere degree >=(select avg(degree) from student,sc where student.sno=sc.sno)(15) 查詢不講授“C01”課的教師姓名。select tnamefrom teacher ,teachingwhere teacher.tno=teaching.tno and cno !='c01'(16) 查詢沒有選修“C02”課程的學(xué)生學(xué)號及姓名。select student.sno,snamefrom student,scwhere student.sno=sc.sno and cno!=&#

38、39;C02'(17) 查詢選修了“數(shù)據(jù)庫”課程的學(xué)生學(xué)號、姓名及系別。select sname,student.sno,sdeptfrom student,sc,coursewhere student.sno=sc.sno and o=o and cname='數(shù)據(jù)庫'(18) 查詢“C02”號課程不及格的學(xué)生信息。select *from student,scwhere student.sno=sc.sno and cno='c02' and degree<60四、思考題(1) 子查詢一般分為幾種?4種 (2) 相關(guān)子查詢的執(zhí)行過程是什么?依賴

39、于父查詢的查詢五、實驗總結(jié)1、收獲進一步的練習(xí)了嵌套查詢和奪標連接,學(xué)到更多的知識,受益良多。2、 存在的問題還是不夠熟悉,需要進一步的學(xué)習(xí)和復(fù)習(xí)實驗七 數(shù)據(jù)更新一、實驗?zāi)康模?1) 掌握利用INSERT命令實現(xiàn)對表數(shù)據(jù)的插入操作。(2) 掌握利用UPDATE命令實現(xiàn)對表數(shù)據(jù)的修改操作。(3) 掌握利用DELETE命令實現(xiàn)對表數(shù)據(jù)的刪除操作。二、實驗要求1、學(xué)生提前準備好實驗報告,預(yù)習(xí)并熟悉實驗步驟;2、遵守實驗室紀律,在規(guī)定的時間內(nèi)完成要求的內(nèi)容;三、實驗內(nèi)容及步驟在Gradem或Gradem1數(shù)據(jù)庫中完成下面操作:注意:利用SELECT INTO命令備份Student、SC、Course這

40、3個表,備份表名自定。(1) 向Student表中插入記錄("20050203","張靜","1981-3-21","女","CS","電子商務(wù)")。INSERTINTO student(sno,sname,sbirthday,ssex,sdept,speciality)VALUES('20050203','張靜','1982-3-21','女','CS','電子商務(wù)');(2)

41、插入學(xué)號為“20050302”、姓名為“李四”的學(xué)生信息。INSERTINTO student(sno,sname)VALUES('20050202','李四');(3) 把計算機系的學(xué)生記錄保存到表TS中(TS表已存在,表結(jié)構(gòu)與Student表相同)。INSERTINTO tsSELECT *FROM studentWHERE sdept='計算機'(4) 將學(xué)號為“20050202”的學(xué)生姓名改為“張華”,系別改為“CS”,專業(yè)改為“多媒體技術(shù)”。UPDATE studentSET sname='張華',sdept='

42、cs',speciality='多媒體技術(shù)'WHERE sno='20050202'(5) 將“李勇”同學(xué)的專業(yè)改為“計算機信息管理”。UPDATE studentSET speciality='計算機管理'WHERE sname='李勇'(6) 把選修了“數(shù)據(jù)庫”課程而成績不及格的學(xué)生的成績?nèi)臑榭罩?NULL)。UPDATE SCSET degree='NULL'WHERE cno in(SELECT cnofrom courseWHERE cname='數(shù)據(jù)庫')AND degree&

43、lt;60(7) 刪除學(xué)號為“20050302”的學(xué)生記錄。DELETEFROM studentWHERE sno='20050302'(8) 刪除“計算機系”所有學(xué)生的選課記錄。DELETEFROM scWHERE sno in(SELECT snofrom studentWHERE sdept='計算機系')(9) 刪除SC表中尚無成績的選課記錄。DELETEFROM scWHERE degree='NULL'(10) 把“張晨”同學(xué)的成績記錄全部刪除。DELETEFROM scWHERE sno in(SELECT snoFROM stud

44、entWHERE sname='張晨')四、思考題(1) DROP命令和DELETE命令的本質(zhì)區(qū)別是什么?DROP刪除整個表,表結(jié)構(gòu)和數(shù)據(jù)DELETE刪除表的某一行,不刪除表結(jié)構(gòu)(2) 利用INSERT、UPDATE和DELETE命令可以同時對多個表進行操作嗎?不能,只能單個表五、實驗總結(jié):1、收獲進一步的熟悉了mysql的運用,記住了很多插入,修改,刪除的語句。2、存在的問題不夠熟練,需要背語句結(jié)構(gòu)。實驗八 視圖一、實驗?zāi)康模?1) 理解視圖的概念。(2) 掌握創(chuàng)建、更改、刪除視圖的方法。(3) 掌握使用視圖來訪問數(shù)據(jù)的方法。二、實驗要求1、學(xué)生提前準備好實驗報告,預(yù)習(xí)并熟悉

45、實驗步驟;2、遵守實驗室紀律,在規(guī)定的時間內(nèi)完成要求的內(nèi)容;三、實驗內(nèi)容及步驟1) 使用SQL語句創(chuàng)建、管理視圖(1) 創(chuàng)建視圖。 創(chuàng)建一個名為sc_view1的視圖,從數(shù)據(jù)庫gradem的sc表中查詢出成績大于90分的所有學(xué)生選修成績的信息。 創(chuàng)建一個名為sc_view2的視圖,從數(shù)據(jù)庫gradem的sc表中查詢出成績小于80分的所有學(xué)生的學(xué)號、課程號、成績等信息。 創(chuàng)建一個名為sc_view3的視圖,由數(shù)據(jù)庫gradem的student、course、sc表創(chuàng)建一個顯示“20070303”班學(xué)生選修課程(包括學(xué)生姓名、課程名稱、成績等信息)的視圖。 創(chuàng)建一個從視圖sc_view1中查詢出課

46、程號“c01”的所有學(xué)生的視圖。 (2) 修改視圖的定義。修改視圖sc_view1,使其從數(shù)據(jù)庫gradem的sc表中查詢出成績大于90分且第3學(xué)期的所有學(xué)生選修成績的信息。(3) 視圖的刪除。 將視圖sc_view1刪除。(4) 管理視圖中的數(shù)據(jù)。 從視圖sc_view2中查詢出學(xué)號為“2007030125”、課程號為“a01”的學(xué)生選修成績的信息。 將視圖sc_view2中學(xué)號為“2007030122”、課程號為“c02”的成績改為87。 從視圖sc_view2中將學(xué)號為“2007030123”、課程號為“a01”的學(xué)生信息刪除。四、思考題向視圖中插入的數(shù)據(jù)能進入到基本表中去嗎?修改基本表

47、的數(shù)據(jù)會自動反映到相應(yīng)的視圖中去嗎?五、實驗總結(jié)1、收獲2、存在的問題實驗九 數(shù)據(jù)庫的安全性一、實驗?zāi)康模?1) 理解My SQL的權(quán)限系統(tǒng)的工作原理。(2) 理解My SQL賬戶及權(quán)限的概念。(3) 掌握管理My SQL賬戶和權(quán)限的方法。(4) 學(xué)會創(chuàng)建和刪除普通用戶的方法和密碼管理的方法。(5) 學(xué)會如何進行權(quán)限管理。二、實驗要求1、學(xué)生提前準備好實驗報告,預(yù)習(xí)并熟悉實驗步驟;2、遵守實驗室紀律,在規(guī)定的時間內(nèi)完成要求的內(nèi)容;三、實驗內(nèi)容及步驟1)利用Navicat圖形工具實現(xiàn)下列操作: 使用root用戶創(chuàng)建aric用戶,初始密碼設(shè)置為abcdef。讓該用戶對gradem數(shù)據(jù)庫擁有SELECT、UPDATE、DROP權(quán)限。用aric用戶登錄,利用aric

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論