




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
實(shí)驗(yàn)項(xiàng)目列表序號(hào)實(shí)驗(yàn)項(xiàng)目名稱指導(dǎo)教師1實(shí)驗(yàn)一數(shù)據(jù)庫的定義實(shí)驗(yàn)(驗(yàn)證性)2實(shí)驗(yàn)二數(shù)據(jù)庫的建立和維護(hù)實(shí)驗(yàn)(驗(yàn)證性)3實(shí)驗(yàn)三數(shù)據(jù)庫的查詢實(shí)驗(yàn)(驗(yàn)證性)4實(shí)驗(yàn)四數(shù)據(jù)庫的視圖操作實(shí)驗(yàn)(驗(yàn)證性)5實(shí)驗(yàn)五觸發(fā)器、存儲(chǔ)過程操作實(shí)驗(yàn)(綜合性)cjl實(shí)驗(yàn)一:數(shù)據(jù)庫的定義實(shí)驗(yàn)一、 實(shí)驗(yàn)?zāi)康模?、 理解MySQLServer6.0服務(wù)器的安裝過程和方法;2、 要求學(xué)生熟練掌握和使用SQL、T-SQL、SQLServerEnterpriserManagerServer創(chuàng)建數(shù)據(jù)庫、表、索引和修改表結(jié)構(gòu),并學(xué)會(huì)使用SQLServerQueryAnalyzer,接收T—SQL語句和進(jìn)行結(jié)果分析。二、 實(shí)驗(yàn)環(huán)境:硬件:PC機(jī)軟件:Windows操作系統(tǒng)、MySQLServer6.0和NavicatforMySQL9.0三、 實(shí)驗(yàn)內(nèi)容和原理:1、 安裝MySQL以及相應(yīng)的GUI工具2、 用SQL命令,建立學(xué)生-課程數(shù)據(jù)庫基本表:學(xué)生Student(學(xué)號(hào)Sno,姓名Sname,年齡Sage,性別Ssex,所在系Sdept);課程Course(課程號(hào)Cno,課程名Cname,先行課Cpno,學(xué)分Ccredit);選課SC(學(xué)號(hào)Sno,課程號(hào)Cno,成績Grade);要求:1) 用SQL命令建庫、建表和建立表間聯(lián)系。2) 選擇合適的數(shù)據(jù)類型。3) 定義必要的索引、列級(jí)約束和表級(jí)約束.四、 實(shí)驗(yàn)步驟:1、 運(yùn)行NavicatforMySQL,然后進(jìn)行數(shù)據(jù)庫連接,進(jìn)入到GUI界面;2、 利用圖形界面建立基礎(chǔ)表:student表的信息:字段名類型長度約束條件Snovarchar9非空、主鍵Snamevarchar20Ssexvarchar2
Sagesmallint6Sdeptvarchar20course表的信息:字段名類型長度約束條件Cnovarchar4非空、主鍵Cnamevarchar40Cpnovarchar4與course表中Cno關(guān)聯(lián)Ccreditsmallint6sc表的信息:字段名類型長度約束條件Snovarchar9非空、主鍵、與student表中Sno外鍵關(guān)聯(lián),級(jí)聯(lián)刪除Cnovarchar4非空、主鍵、與course表中Cno外鍵關(guān)聯(lián)Gradesmallint6(1)、連接數(shù)據(jù)庫,在localhost中點(diǎn)擊鼠標(biāo)右鍵(如圖1所示),點(diǎn)擊“新建數(shù)據(jù)庫”,在彈出的窗口中輸入數(shù)據(jù)庫名稱(如圖2所示),然后單擊“確定”,就完成了數(shù)據(jù)庫的建立。
圖1圖1新建數(shù)據(jù)庫(2)、進(jìn)入新建的數(shù)據(jù)庫,在表的位置單擊鼠標(biāo)右擊(如圖3所示),點(diǎn)擊“新建表”,分別在“欄位”中輸入上表所示的字段名、類型及長度中的數(shù)據(jù)(如圖4、5、6所示),在“外鍵”中輸入對(duì)應(yīng)表的約束條件(如圖)。圖3新建表圖4圖3新建表圖4student表圖5course表圖6sc表圖5course表圖6sc表圖7course的約束條件圖8sc的約束條件3、利用命令方式建表:、單擊“查詢”,然后點(diǎn)擊“新建查詢”,在彈出的新建查詢窗口中輸入CREATEDATABASEhuangqiangwe”命令,建立一個(gè)名為zhz的數(shù)據(jù)庫;、通過“usehuangqiangwei”命令進(jìn)入到huangqiangwei數(shù)據(jù)庫中;、在查詢編輯器窗口中分別輸入命令:建立student表:CREATETABLEstudent(Snovarchar(10)PRIMARYKEY,Snamevarchar(20)UNIQUE,Ssexvarchar(2),SageSMALLINT,Sdeptvarchar(20))建立course表:CREATETABLEcourse(Cnovarchar(4)PRIMARYKEY,Cnamevarchar(40),Cpnovarchar(4),CcreditSMALLINT,FOREIGNKEY(Cpno)REFERENCEScourse(Cno))建立sc表:CREATETABLEsc(Snovarchar(10),Cnovarchar(4),
GradeSMALLINT,PRIMARYKEY(Sno,Cno),FOREIGNKEY(Sno)REFERENCESstudent(Sno)ONDELETECASCADEONUPDATECASCADE,FOREIGNKEY(Cno)REFERENCEScourse(Cno)ONDELETENOACTIONONUPDATECASCADE)(4)、向student表中添加“Sentrance”列:ALTERTABLEstudentADDSentranceDATE(5)、將student表中“Sentrance”的類型改為varcharALTERTABLEstudentMODIFYCOLUMNSentrancevarchar(4);(6)、刪除student表中的“Sentrance”列:ALTERTABLEstudentDROPSentrance;五、實(shí)驗(yàn)結(jié)果1、student表:Bstudent?huangqiangwei(mysql)-表文件策輯萱看窗匚幫助'尋入閆導(dǎo) 導(dǎo)口閆導(dǎo)r篩選向?qū)網(wǎng)梧亙彥H表與查看SnoSnameSageSdept卜〔Null)〔Null)〔Null)CNull)2、course表:Bcourse@hijan€|qiangwe-i(my5ql)-表文件箱亙著南匚 幫助"'導(dǎo)E導(dǎo)目導(dǎo)匚向?qū)x向?qū)Ю砭W(wǎng)曜w13#安Cno Cname Cpno CcreditA:Null]3、sc表:rBsc(^huangqiangvirei(mysql)-表文件推蜷竟卷有匚幫助二導(dǎo)a向?qū)導(dǎo)口司導(dǎo) 端選向?qū)?H網(wǎng)招宣意B表當(dāng)查看£fidCnoGrade-(Null}CNull)〔Null〕4、向student表中添加Sentrance列:
£5student?huangqiangwei[mysql]-表丈件箱輯宣君 有匚 幫助■'導(dǎo)人向?qū)А?導(dǎo)人向?qū)?dǎo)胃向?qū)?;筒選向?qū)?H網(wǎng)福安B云也查卷SnoSnameSsexSageSdeptSentranceSnoSnameSsexSageSdeptSentrance〔Ml)〔Ml)〔Null)(Null]5、student表的基本信息:口student^huangqiangwei(myiql)-表又件彩窗口卷閔C3新建H盼瞄晝存為 曰活拍欄校三插入欄位百雁除攔位 緇蘭蓬?上卷4下秘欄位葫I|瞧|?!部|順|遂際秘名長度,」戳售允許空值【,Snovarchar100□Snamevarchar200Ssesvarchar20wSisgesmallint6 0Sdeptvarchar2006、將Sentrance的數(shù)據(jù)類型改為varchar:建:student@huangqian ;mysql)-表資「爻匕詫&窒匚 拇劇13根口幌存%杉存為 M渤q欄隹已撫\欄位&地陳約± 推蘭坦言上罩#下移W位 重引|亍俺觸游i£項(xiàng) 耕|SQL廁5£淄d*.Snovarcharg0□1Snamevardnar200*Ssexvarchar20■>SageEmallint&0*Sdeptvardnnr200*1*SerWancevarchar40■>六、總結(jié):通過這次實(shí)驗(yàn),要求掌握了數(shù)據(jù)庫的定義以及基本表的建立,熟悉MySQL圖形界面和SQL命令去創(chuàng)建、修改、刪除基本表及設(shè)定表級(jí)完整性約束,鞏固了SQL的一些常用的命令語句,為接下來的實(shí)驗(yàn)奠定基礎(chǔ)。
實(shí)驗(yàn)二:數(shù)據(jù)庫的建立和維護(hù)實(shí)驗(yàn)一、 實(shí)驗(yàn)?zāi)康暮鸵笫炀氄莆帐褂肧QL、Transact-SQL和SQLServer企業(yè)管理器向數(shù)據(jù)庫輸入數(shù)據(jù)、修改數(shù)據(jù)和刪除數(shù)據(jù)的操作。二、 實(shí)驗(yàn)內(nèi)容和原理1、 基本操作實(shí)驗(yàn)(1) 通過MySQL的GUI工具Navicat,在學(xué)生-課程數(shù)據(jù)庫的student、course和sc3個(gè)表中各輸入若干條記錄。要求記錄不僅滿足數(shù)據(jù)約束要求,還要有表間關(guān)聯(lián)的記錄。(2) 通過MySQL的GUI工具Navicat實(shí)現(xiàn)對(duì)學(xué)生-課程數(shù)據(jù)庫的student、course和sc3個(gè)表中數(shù)據(jù)的插入、刪除和修改操作。2、 提高操作實(shí)驗(yàn)通過查詢編輯器用SQL命令實(shí)現(xiàn)對(duì)學(xué)生-課程庫的數(shù)據(jù)增加、數(shù)據(jù)刪除和數(shù)據(jù)修改操作。三、 實(shí)驗(yàn)環(huán)境硬件:PC機(jī)軟件:Windows操作系統(tǒng)、MySQLServer6.0和NavicatforMySQL9.0四、 算法描述及實(shí)驗(yàn)步驟1、基本操作實(shí)驗(yàn)(1) 運(yùn)行“Navicat”,雙擊“student”表,將學(xué)生的信息輸入對(duì)應(yīng)位置(如圖1所示);雙擊“course”表,將課程信息輸入對(duì)應(yīng)位置(如圖2所示);雙擊“sc”表,將選課信息輸入對(duì)應(yīng)位置(如圖3所示);(2) 需要數(shù)據(jù)插入時(shí),就在最后一條記錄后輸入一條記錄。當(dāng)鼠標(biāo)點(diǎn)擊其他行時(shí),輸入的記錄會(huì)自動(dòng)保存在表中。(3) 需要修改記錄時(shí),直接對(duì)表中已有記錄的數(shù)據(jù)進(jìn)行改動(dòng),用新值替換原有的值。(4) 需要?jiǎng)h除記錄時(shí),先用鼠標(biāo)單擊要?jiǎng)h除行的左邊灰色方塊,使該記錄
成為當(dāng)前行,然后按<Delete>鍵。為了防止誤操作,MySQL會(huì)彈出一個(gè)警告框,要求用戶確認(rèn)刪除操作,單擊“確認(rèn)”按鈕即可刪除記錄。也可通過先選中一行或多行記錄,然后再按<Delete>鍵的方法一次刪除多條記錄。Bstudent@huangqiangwei(mysqll]-表文件漏翡W商匚菩助導(dǎo)人.2T3導(dǎo)口向?qū)?篩選向?qū)诰W(wǎng)曜看二表尊看£noSnsme£eskS-age£dept311600S042羅靖更20C£3116003043更22IS3116003&44鄭智化男20MA*3116003047男21MA311&003045李莎女20IS圖1student表的數(shù)據(jù)?course?huangqiangwei(mysql)-表文件鋼廢商匚幫斯■寺入w導(dǎo)碧導(dǎo)口w導(dǎo) 籃選向?qū)?H網(wǎng)梧窒B表空CnoCname■CpnoCcredit卜1融庫52數(shù)學(xué)(Null)2信息"1576弟言(Null)7PASCAL6圖2course表的數(shù)據(jù)Bsc?huarigqiangwei(mysql)-表文件錨查卷商匚耗助…尋入W導(dǎo)P導(dǎo)口向?qū)?僚選向寺 曲網(wǎng)指理白號(hào)SnoCnoGrade卜3116OO3M21923116OO3M2292311&OO3O423833116003043231160030433SO3116003044239圖3sc表的數(shù)據(jù)礁認(rèn)劉1除 I塞「I你確實(shí)要?jiǎng)h除一^記錄舊?圖4警告圖標(biāo)2、提高操作實(shí)驗(yàn)在查詢編輯器中輸入以下代碼,實(shí)現(xiàn)相應(yīng)的功能。(1) 將(學(xué)號(hào):3116003034;姓名:黃學(xué)輝;性別;男;所在系:IS;年齡:20)的學(xué)生信息插入到student表中,實(shí)現(xiàn)的代碼如下:INSERTINTOstudent(Sno,Sname,Ssex,Sdept,Sage)VALUES('3116003034',黃學(xué)輝','男','IS',20);(2) 將student表中學(xué)號(hào)為3116003042的學(xué)生的所在系改為MA,實(shí)現(xiàn)代碼如下:UPDATEstudentSETSdept='MA'WHERESno='3116003042'(3) 刪除姓名為“陳會(huì)娟”的學(xué)生記錄,實(shí)現(xiàn)代碼如下:DELETEFROMstudentWHERESname='陳會(huì)娟’五、調(diào)試過程音詢倒建~F巨查詢編輯器UFDkTEstJdent.SET5日已pt=MAWHERESno=31160030424信皂臉[SQL]UPDATEstudentSETSdept=MAWHERE£-no-=3116003042[Err]LO54-Unknown<olumn'MA1in'fieldli&i1提示操作失敗,應(yīng)將SETSdept=MA和WHERESno=3116003042改為:SETSdept='MA'和WHERESno='3116003042',然后再運(yùn)行,提示修改成功,如下圖:音面創(chuàng)建丁且查有輻輯器JPDATEsfade^tSET5dept=,MA,WHERE5rLO=F5LL600J042F4信息砌[SQL]UPDATEstudentSET£dept='MA'WHERE£no='3116003W受影俏的行;1時(shí)同:0.004ms六、實(shí)驗(yàn)結(jié)果1、向student表插入數(shù)據(jù):student@huangqiamgv/ei(mys-ql)-表曲?huangqiangwe...曲?huangqiangwe...5-tudent?huangqiangwe...X文件牌管窗匚幫助—導(dǎo)八同尋Q導(dǎo)口向?qū)?彌選向?qū)?H網(wǎng)掐宣君S羔當(dāng)查看S-no Sname£sexSage&d?ptTOC\o"1-5"\h\z>3116003034黃學(xué)輝 蜀 20IS3116003042羅靖 蜀 20CS3116003043吳建航 男 22CS3116003944鄭智化 男 20MA3116003045季立婷 女 20IS3116003047荏強(qiáng)悻蜀3116003047荏強(qiáng)悻蜀21MA21IS31160030421IS2、修改數(shù)據(jù):Sn口SnameSaexSageSd&pt3116003034黃學(xué)輝男20IS3116003042羅靖男20MA3116003043里22CS-3116003044鄭智化里20MA311&003045季通女20IS3115003047黃強(qiáng)偉男21MA311600304S會(huì)娟女21IS3、刪除數(shù)據(jù):SnoSnameSag^2-dept卜3116003024黃學(xué)揮男20IS3116003042羅靖男20MA3116003043云航男22C&3116003044鄭智化20MA3115003045李珍女20IS311&OO3047勇21MA七、總結(jié)通過這次實(shí)驗(yàn),掌握了數(shù)據(jù)庫的建立和維護(hù)的基本知識(shí)以及約束條件的作用,掌握使用MySQL圖形界面和SQL命令對(duì)建立的基本表進(jìn)行添加數(shù)據(jù)、修改數(shù)據(jù)、刪除數(shù)據(jù)的操作,同時(shí)也鞏固了SQL命令中的添加、修改、刪除語句,為以后做數(shù)據(jù)庫的維護(hù)奠定基礎(chǔ)。實(shí)驗(yàn)三:數(shù)據(jù)庫的查詢實(shí)驗(yàn)一、 實(shí)驗(yàn)?zāi)康暮鸵?、 掌握select語句的基本語法;2、 掌握子查詢、連接查詢的表示;3、 掌握select語句的GROUPBY、ORDERBY、LIMIT的作用和使用方法。二、 實(shí)驗(yàn)內(nèi)容和原理1、 select語句的基本使用:查詢student表中每個(gè)學(xué)生的所有數(shù)據(jù);查詢course和sc表的所有記錄;查詢年齡在20?21歲之間的學(xué)生的姓名及年齡;統(tǒng)計(jì)學(xué)生總?cè)藬?shù);查詢信息系(IS)學(xué)生的姓名和性別;查詢所有姓“黃”的學(xué)生的信息。2、 子查詢的使用:查詢與“羅靖”在同一個(gè)系的學(xué)生查詢其他系中比CS系所有學(xué)生年齡都小的學(xué)生的姓名和年齡。3、 連接查詢的使用:查詢選修了3號(hào)課程且成績?cè)?5分以上的學(xué)生的學(xué)號(hào)、姓名。查詢所有學(xué)生的選課情況。4、 GROUPBY、ORDERBY和LIMIT子句的使用:查找student中男生和女生的人數(shù);查找選修了2號(hào)課程的學(xué)生的學(xué)號(hào)及其成績,查詢結(jié)果按成績降序排列;返回student表中的前3為同學(xué)的信息。三、 實(shí)驗(yàn)環(huán)境硬件:PC機(jī)軟件:Windows操作系統(tǒng)、MySQLServer6.0和NavicatforMySQL9.0四、算法描述及實(shí)驗(yàn)步驟1、 select語句的基本使用:查詢student表中每個(gè)學(xué)生的所有數(shù)據(jù):SELECT*FROMstudent查詢年齡在20?21歲之間的學(xué)生的姓名及年齡:SELECTSname,SageFROMstudentWHERESageBETWEEN20AND21統(tǒng)計(jì)學(xué)生總?cè)藬?shù):SELECTCOUNT(*)FROMstudent查詢信息系(MA)學(xué)生的姓名和性別:SELECTSname,SsexFROMstudentWHERESdeptIN('MA')查詢所有姓“黃”的學(xué)生的信息。SELECT*FROMstudentWHERESnameLIKE黃%'2、 子查詢的使用:查詢與“羅靖”在同一個(gè)系的學(xué)生的姓名和所在系:SELECTSname,SdeptFROMstudentWHERESdeptIN(SELECTSdeptFROMstudentWHERESname=羅靖')查詢其他系中比IS系所有學(xué)生年齡都小的學(xué)生的姓名和年齡。SELECTSname,SageFROMstudentWHERESage<ALL(SELECTSageFROMstudentWHERESdept='IS')3、 連接查詢的使用:查詢選修了3號(hào)課程且成績?cè)?5分以上的學(xué)生的學(xué)號(hào)、姓名:SELECTSno,SnameFROMstudentWHERESnoIN(SELECTSnoFROMscWHERECno='3')查詢有選課的學(xué)生的基本情況。SELECTstudent.Sno,student.Sname,course.Cno,course.CnameFROMstudent,sc,courseWHEREstudent.Sno=sc.SnoANDsc.Cno=course.Cno4、GROUPBY、ORDERBY和LIMIT子句的使用:查找student中男生和女生的人數(shù):SELECTSsex,COUNT(Ssex)FROMstudentGROUPBYSsex查找選修了2號(hào)課程的學(xué)生的學(xué)號(hào)及其成績,查詢結(jié)果按成績降序排列:SELECTSno,GradeFROMscWHERECno='2'ORDERBYGradeDESC返回student表中的前3為同學(xué)的信息。SELECT*FROMstudentLIMIT3五、實(shí)驗(yàn)結(jié)果1、select語句的基本使用:(1)信息結(jié)果L£noSnameSsexSageS-deptk3L1&003034黃學(xué)輝20IS3116003042羅靖舅20MA311&003043^航蜀22C&3L1&003044鄭智化男20MA311&003045女20E3LL&003047男21MA(2)
結(jié)果L(3)(結(jié)果L(3)(4)信息夠昊1械兄|加COUNTS卜 6信息結(jié)果]Sname卜羅靖男鄭^化男男(5)言息洽果1住&noS-nameGsex£age=&dept3116003034黃學(xué)席20E311600304721MA2、子查詢的使用:(1)寇鄙兄住Snsme £deptk羅靖 MA鄭智化 MAMA(2)|信息|結(jié)果】|響|噸Snam-eSage
3、連接查詢的使用:(1)信息 結(jié)果L|贛兄|此Sno Sname卜3116003042 吳建航3116003042 羅靖(2)售息結(jié)果]腳皤£n&&nameCn&Cnarne?311&OO3O4SMfin;2311&003043盞航3信息球311&OO3D42羅靖1瞄摩3115003042羅靖2數(shù)學(xué)3115003042羅靖3信息云4、GROUPBY、ORDERBY和LIMIT子句的使用:(1)SsexOOUNT&或卜女1(1)SsexOOUNT&或卜女1男5信息結(jié)果L榭兄尼SnoGrade3115OO3W923116OO3W503116003044B9與息I結(jié)果1瞰牘(3)言息結(jié)果1Sno-S-nameSage-Sd-ept卜3U&OT3O34黃學(xué)梓男20IS3116003042羅靖男20MA3116003043男22C£六、總結(jié)
通過這次實(shí)驗(yàn),掌握了select語句的基本使用方法,對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行查詢方法有了進(jìn)一步的了解,鞏固了子查詢和連接查詢的使用以及GROUPBY、ORDERBY和LIMIT子句的使用,為以后做數(shù)據(jù)庫數(shù)據(jù)的查詢奠定基礎(chǔ)?!鯩ySQL5.6SmmmdLineClie-n1-Unkixdtinsertintocoursevalues(."11pueryOK,1rowaffectedCO.07sec)mysql>select*fremcourse;ICno|■MySQL5.6SmmmdLineClie-n1-Unkixdtinsertintocoursevalues(."11pueryOK,1rowaffectedCO.07sec)mysql>select*fremcourse;ICno|CnameICpna|CcreditIo111123456-7言'統(tǒng)統(tǒng)枸言軍ut監(jiān)原稅結(jié)處al拒嘩ft學(xué)息作據(jù)擔(dān)SC敷富整靠蠹paI NULL | 4 |I 4 I 6 II HULL | 8 |I NULL | 2I 】 I 4 |I 6 I 3 II 7 I 4I NULL I 2 |I 6 I 4 |rSoftware-rniill;9rawsinsetCO-00sec.;rnysql>irnysql>insertintacoursevalues( 12□s*anull323)a(B13a/pragram'a12\9);QueryOKj2rowsaffected(0-06secJRecords:2Duplicates:0Warnings:G國MySQL5.C LineClient-Unicc-de-mysql>insertintocourseva1ues('12國MySQL5.C LineClient-Unicc-de-mysql>insertintocourseva1ues('12■3'as"?ucryW;h2「wrmaffected(0.06see)R.€cordE!2E<jp11cates:0Warninqs:0,programmysql>select*fromcourse;I { |r 1 FICn&||Crame |CprtoICcipeditI?筑饕理諳ra集系結(jié)/疽加學(xué)*作據(jù)據(jù)5CINULL|I4INULL|INULL|I12INULL|I1I&I/NULLII611ipnminWHt(0.00sec)說明:可以一次插入多條記錄實(shí)驗(yàn)四:數(shù)據(jù)庫的視圖操作實(shí)驗(yàn)一、 實(shí)驗(yàn)?zāi)康暮鸵?、 熟悉視圖的概念和作用;2、 掌握視圖的創(chuàng)建方法;3、 掌握如何查詢和修改視圖。二、 實(shí)驗(yàn)內(nèi)容和原理1、 創(chuàng)建視圖:(1) 創(chuàng)建zhz數(shù)據(jù)庫上的視圖student_view,視圖包含學(xué)號(hào)、姓名、系;(2) 創(chuàng)建zhz數(shù)據(jù)庫上的視圖sc_view,視圖包含sc表的全部列。2、 查詢視圖:(1) 從視圖sc_view中查看選修了3號(hào)課程的學(xué)生的學(xué)號(hào);(2) 從視圖student_view中查詢姓名為“李立婷”的學(xué)生所在的系。3、 更新視圖:(1) 向視圖sc_view中插入一行數(shù)據(jù):3116003045,5,87;(2) 將視圖student_view中學(xué)號(hào)=3116003043的學(xué)生的系改為MA;(3) 刪除視圖student_view中學(xué)號(hào)=3116003042的學(xué)生的信息。4、 刪除視圖:(1)刪除視圖sc_view;5、 在界面工具中操作視圖三、 實(shí)驗(yàn)環(huán)境硬件:PC機(jī)軟件:Windows操作系統(tǒng)、MySQLServer6.0和NavicatforMySQL9.0四、 算法描述及實(shí)驗(yàn)步驟1、創(chuàng)建視圖:(1)創(chuàng)建zhz數(shù)據(jù)庫上的視圖student_view,視圖包含學(xué)號(hào)、姓名、系:CREATEVIEWstudent_viewASSELECTSno,Sname,SdeptFROMstudent(2)創(chuàng)建zhz數(shù)據(jù)庫上的視圖sc_view,視圖包含sc表的全部列:CREATEVIEWsc_viewASSELECT*FROMsc2、 查詢視圖:(1) 從視圖sc_view中查看選修了3號(hào)課程的學(xué)生的學(xué)號(hào):SELECTSnoFROMsc_viewWHERECno='3'(2) 從視圖student_view中查詢姓名為“李立婷”的學(xué)生所在的系:SELECTSname,SdeptFROMstudent_viewWHERESname='王敏'3、 更新視圖:(1) 向視圖sc_view中插入一行數(shù)據(jù):3116003045,5,87;INSERTINTOsc_viewVALUES('3116003045','5','87')(2) 將視圖student_view中學(xué)號(hào)=3116003043的學(xué)生的系改為MA;UPDATEstudent_viewSETSdept='MA'WHERESno='3116003043'(3) 刪除視圖student_view中學(xué)號(hào)=3116003042的學(xué)生的信息;DELETEFROMstudent_viewWHERESno='3116003042'4、 刪除視圖:(1)刪除視圖sc_view;DROPVIEWsc_view5、 在界面工具中操作視圖(1)創(chuàng)建視圖:選擇zhz數(shù)據(jù)庫,單擊“視圖”圖標(biāo),單擊“新建視圖”,單擊"視圖創(chuàng)建工具”,雙擊“student”表,選擇“Sno,Sname,Sdept”,然后單擊"保存”,輸入視圖名“student_view”,單擊"確定”按鈕。f||LaEarrii-Lian_i<hvih?Ha^icatfurIfSQLicftd:'MM>RHSf||LaEarrii-Lian_i<hvih?Ha^icatfurIfSQLicftd:'MM>RHSIA:|IflmanWJffftOfi伴謁哀時(shí)事s'ffi<&祝圖名輸入視圖名etinlerit_vi6確定 職消查詢視圖:雙擊視圖名,可直接查看視圖中的數(shù)據(jù)刪除視圖:在視圖窗體中,選擇要?jiǎng)h除的視圖,點(diǎn)擊鼠標(biāo)右鍵,選擇“刪除視圖”,然后單擊“刪除”:.■NavicatforMySQL文件回M(V)姬夫[坦工具CD商匚也)有毗旦|些打開想囹^沒y靚囹端新建亞囹沖ffli除贈(zèng)竭導(dǎo)出「』?甘localhost…熾informatiD-n_Echema…們marageh:mymansge—fei?mysql”testJ.zhzt--ffdi初囹\-h函數(shù)"?鑿事1牛卜毫查洵;■■-據(jù)孟|??瑟mWscviev/student_vie^iB打開甌囹砂街刊&圖巽新建現(xiàn)圖費(fèi)導(dǎo)出向?qū)У跻恍挛?、?shí)驗(yàn)結(jié)果1、創(chuàng)建視圖:(1)凸£tudent_yiew?liuangqisngwei[m/sql)-覘圖?huangqiangwe,,,X沁studen-t_vi&w@hu京件希萱荏曲匚幫助曲導(dǎo)m向?qū)?篇選向辱 B網(wǎng)格登差3去碧登著SnoSnameSdept?3116003034黃學(xué)輝IS3116003042羅婿MA3116003043cs3116003044鄭智化MA3116003045l§3116003047MA(2)Ek@huangqidngweifnnysql)-表文件漏垣辭窗匚幫助r卷導(dǎo)入且杼…導(dǎo)口向?qū)?斌選向?qū)?曲網(wǎng)典卷目號(hào)SnoCnoGrade*3116003042192311&003042292311&O03O42388.311&O03O432知311&O03O433ao311&003044239-2、查詢視圖:(2)(1)(2)信皂 洽昊1修況|住S-name&dept1£3、更新視圖:(1)插入sc@huangqi^ngwei(mysql)-表H5tudentview?huangqi...X22sc?huangqiangwei(my...X文件諒黑直看窗匚禁助“'尋入向?qū)?’導(dǎo)=|向?qū)?砌向?qū)?理期適看歸表套章著£no Cno GradeTOC\o"1-5"\h\zk3116003042 1 923116003042 2 923116003042 3 SB3116003043 2 903116003043 3 803116003044 2 393116003045 5 S7修改EstudentOhusngqiangwei〔mysqD-表文件翊臻i奇匚 幫助二導(dǎo)入向?qū)皩?dǎo)口向?qū)?;漏選向?qū)W(wǎng)梧毒目表苴菰SnoSnameSsexS-ageSdept卜3116003034黃學(xué)輝男20IS3116003042羅靖男20MA311600304322MA3116003044鄭智化身20MA3116003045李理女20IS3116003047男21MA刪除
student?huangqiangwei(mysql)-表導(dǎo)口向?qū)?筒選向?qū)W(wǎng)導(dǎo)口向?qū)?筒選向?qū)W(wǎng)格查盲13妻當(dāng)宜君SncS-name£-5exgage*Sdept?31L&O03O34黃學(xué)輝20IS31L&O03O43捐22MA31L&003044鄭智化男20MA31L&OT3O45女20IS31L&O03O47男21MA—導(dǎo)入向?qū)?、在界面工具中操作視圖,student_view@hjangqiangwei(mysql:-視囹文件穗查看有匚 幫助例導(dǎo)匚向?qū)ШY選向?qū)Ю砭W(wǎng)1重卷I3?!阯oSnarrie&dept?31L&003034黃學(xué)輝IS311&003043WA311&003D44鄭智化WA311&003-045IS311&003-047MA六、總結(jié)通過這次實(shí)驗(yàn),掌握了視圖的創(chuàng)建、查詢、修改以及刪除等基本操作;了解了視圖與基本表的區(qū)別,視圖是一個(gè)虛表,數(shù)據(jù)庫中只存放視圖的定義,而不存放視圖對(duì)應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍存放在原來的基本表中;鞏固了視圖的基本概念及其作用。實(shí)驗(yàn)五:觸發(fā)器、存儲(chǔ)過程操作實(shí)驗(yàn)一、 實(shí)驗(yàn)?zāi)康暮鸵?、 掌握存儲(chǔ)過程創(chuàng)建和調(diào)用的方法;2、 掌握MySQL中程序片段的組成;3、 掌握觸發(fā)器的使用方法。二、 實(shí)驗(yàn)內(nèi)容和原理1、 存儲(chǔ)過程:(1) 創(chuàng)建存儲(chǔ)過程,使用student表中的學(xué)生人數(shù)來初始化一個(gè)局部變量,并調(diào)用這個(gè)存儲(chǔ)過程;(2) 創(chuàng)建存儲(chǔ)過程,比較兩學(xué)生的年齡,若前者比后者大就輸出0,否則輸出1。2、 觸發(fā)器:(1) 創(chuàng)建觸發(fā)器,在student表中刪除學(xué)生信息的同時(shí)將sc表中該學(xué)生的選課信息刪除,以確保數(shù)據(jù)的完整性;(2) 假設(shè)course1表和course表的結(jié)構(gòu)和內(nèi)容都相同,在course上創(chuàng)建一個(gè)觸發(fā)器,如果添加一門新的選修課程,該課程也會(huì)被添加到course1表中。(3) 定義一個(gè)BEFORE行級(jí)觸發(fā)器,為teacher表定義完整性規(guī)則,“向teacher插入教授的信息時(shí),工資不得低于4000元,如果低于4000元,則自動(dòng)將其更改為4000元”。(4) 刪除teacher表上的觸發(fā)器teacher_Income。三、 實(shí)驗(yàn)環(huán)境硬件:PC機(jī)軟件:Windows操作系統(tǒng)、MySQLServer6.0和NavicatforMySQL9.0四、 算法描述及實(shí)驗(yàn)步驟1、存儲(chǔ)過程:(1)創(chuàng)建存儲(chǔ)過程,使用student表中的學(xué)生人數(shù)來初始化一個(gè)局部變量,并調(diào)用這個(gè)存儲(chǔ)過程:delimiter$$CREATEPROCEDURETEST(OUTnumberlINTEGER)BEGINDECLAREnumber2INTEGER;SETnumber2=(SELECTCOUNT(*)FROMstudent);SETnumber1=number2;END$$Delimiter;調(diào)用該存儲(chǔ)過程:CALLTEST(@number)查看結(jié)果:SELECT@number(2)創(chuàng)建存儲(chǔ)過程,比較兩學(xué)生的年齡,若前者比后者大就輸出0,否則輸出1:delimiter$$CREATEPROCEDURECOMPA(INSno1varchar(10),INSno2varchar(9),OUTBJINTEGER)BEGINDECLARESR1,SR2FLOAT(10);SELECTSageINTOSR1FROMstudentWHERESno=Sno1;SELECTSageINTOSR2FROMstudentWHERESno=Sno2;IFSno1>Sno2THENSETBJ=0;ELSESETBJ=1;ENDIF;END$$Delimiter;調(diào)用該存儲(chǔ)過程:CALLCOMPA('3116003044','3116003045',@BJ);查看結(jié)果:SELECT@BJ2、觸發(fā)器:(1)創(chuàng)建觸發(fā)器,在student表中刪除學(xué)生信息的同時(shí)將sc表中該學(xué)生的選課信息刪除,以確保數(shù)據(jù)的完整性:CREATETRIGGERDELETE_SMAFTERDELETEONstudentFOREACHROWDELETEFROMscWHERESno=OLD.Sno刪除student表中的一行數(shù)據(jù),然后查看sc表的變化:DELETEFROMstudentWHERESno='3116003043'觀察sc表的變化;(2) 假設(shè)student1表和student表的結(jié)構(gòu)和內(nèi)容都相同,在student上創(chuàng)建一個(gè)觸發(fā)器,如果添加一個(gè)學(xué)生的信息,該信息也會(huì)被添加到student1表中:delimiter$$CREATETRIGGERstudent_InsAFTERINSERTONstudentFOREACHROWBEGININSERTINTOstudent!VALUES(new.Sno,new.Sname,new.Ssex,new.Sage,new.Sdept);END$$Delimiter;向student表中添加一條新信息('2008006','楊過','男',19,'IS'):INSERTINTOstudentVALUES('2008006',楊過','男',19,'IS');觀察studentl表的變化;(3) 定義一個(gè)BEFORE行級(jí)觸發(fā)器,為teacher表定義完整性規(guī)則“插入教授的信息時(shí),工資不得低于4000元,如果低于4000元,則自動(dòng)改為4000元”:CREATETRIGGERteacher_IncomeBEFOREINSERTONteacherFOREACHROWBEGINIF(new.Job=教授')AND(new.Income<4000)THENSetnew.Income=4000;ENDIF;END;向teacher表中添加一條新信息('3116003037','鄭靜美','女','教授',3500):INSERTINTOteacherVALUES('10006',林濤','男','教授',3500)觀察teacher表的結(jié)果;(4) 刪除teacher表上的觸發(fā)器teacher_Income。DROPTRIGGERteacher_Income;五、調(diào)試過程1、
信息臨兄隔[SQL]CREATETRIGGERteacheHncomeBEFOREINSERTONteacherFOREACHROWBEGINIFfnew.Job= AND.:new.Income<4000]THENnew.Income=4000;ENDIF;END;[Err]1064-Youhaveanerrorinyour£QLsyntaxjcheckthe-manualthatcorrespondstoyourMy&QLserverversionfortherightsyntaxtousenear'.Income=4000;ENCUF;END'atlineB2、提示出現(xiàn)語法錯(cuò)誤,應(yīng)在“new.Income=4000;”前添加SET,然后再運(yùn)行:2、信屋鉞兄|好 [SQL]DROPTRIGGERteacherjncomeONteacher[Err]1064-YauhaveaneircurinyourSQLsyntax;checlkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'ONteacher1atline1提示出現(xiàn)語法錯(cuò)誤,應(yīng)在“DROPTRIGGERteacher_IncomeONteacher”中的“ONteacher”刪除,然后再運(yùn)行:信息蜘廠臉[SQL]DROPTRIGGERteacherJncome登建響的行:0時(shí)IFJ:0.007ms六、實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)前:
SnoSname§5的SagsS-deptk3116003034黃學(xué)輝男20IS3116003042羅靖20MA31160030
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 分租店面裝修合同范本
- 農(nóng)機(jī)課題申報(bào)書怎么寫
- 專用預(yù)埋件銷售合同范本
- 友誼合同范本
- 產(chǎn)業(yè)用工合同范本
- 前期物業(yè)托管合同范本
- 豐沃達(dá)采購合同范本
- 農(nóng)場民宿到超市合同范本
- 醫(yī)院物業(yè)服務(wù)合同范本格式
- 售后質(zhì)保電腦合同范本
- 紹興文理學(xué)院開題報(bào)告模板
- 2021年古包頭市昆都侖區(qū)水務(wù)公司招聘考試試題及答案
- 體檢中心健康知識(shí)講座
- 思維導(dǎo)圖在初中英語復(fù)習(xí)課中的應(yīng)用研究的中期報(bào)告
- 絕對(duì)干貨!國有企業(yè)總經(jīng)理辦公會(huì)決策事項(xiàng)及總經(jīng)理職責(zé)清單
- 高教社2023馬工程國際私法學(xué)教學(xué)課件u15
- 蘇教版六年級(jí)下冊(cè)數(shù)學(xué) 用“轉(zhuǎn)化”的策略解決問題 教案(教學(xué)設(shè)計(jì))
- 紅領(lǐng)巾監(jiān)督崗檢查記錄表
- 靈山縣城鄉(xiāng)融合發(fā)展奶水牛標(biāo)準(zhǔn)化養(yǎng)殖小區(qū)項(xiàng)目環(huán)境影響報(bào)告書
- 中小學(xué)生防性侵教育課件主題班會(huì)
- 倉儲(chǔ)管理改善計(jì)劃表
評(píng)論
0/150
提交評(píng)論