




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
國家開放大學MySQL數(shù)據(jù)庫應(yīng)用實驗
實驗1:在MySQL創(chuàng)建數(shù)據(jù)庫及表
【實訓目的與要求
1、安裝MySQL系統(tǒng),了解MySQL環(huán)境;
2、利用MySQL命令行窗口創(chuàng)建數(shù)據(jù)庫及表;
3、利用界面工具創(chuàng)建數(shù)據(jù)庫及表;
4、完整性約束設(shè)計。
【實訓原理】
DBMS環(huán)境的使用
【實訓步驟】
一、熟悉MySQL環(huán)境
1.檢查軟硬件配置是否達到MySQL的安裝要求。
(1)硬件
(2)軟件
2.安裝數(shù)據(jù)庫管理系統(tǒng)MySQL服務(wù)器
hntei*password:
3.練習用不同的方法啟動MySQL服務(wù)。
4.⑴.通過Windows服務(wù)管理器啟動MYSQL服務(wù)
□
文件電海作mhv)W?H)
?
MyfQl遜
■';血
??
1先
脂
:本:
NetTcpPortSharwS?fvk?IM,統(tǒng)
劭
如
QNrtogon5WU卜M
皿
本
QHetworkConnectedDe^c_—
??-統(tǒng)
?■
方
本
—a
NftwortrConnecbanBrok*f向
Iff.饒
動
本
卜
&HetwortConnectm
w皖
本
獸
—i
GNetwoAConnectivityAwn
v?符
本
手
QHrtwortlistService皿正在?.劭A
網(wǎng)
門
動M
QNetwoALouttonAMiwne.eta",
本
手
獸
◎NetwortcSetupServiceRS皿ttt
本
白
6NetwoAStotvMUEM.$?.itsJE8..動
本fl
統(tǒng)
黑
H訪
@HVKXADispl^DriverSeePrwL.Iff-
如
統(tǒng)
牛
ROific,SourceEngine到d動
本
統(tǒng)
丁
黑
4^OptimiMdrives酗動
本
為
手
Q^eerNaneResok/DonPm?動
本
力
季0
QRwrNefmxtongGroupsitm動
本
努
手
◎釀rNetwortongIdentity_動:
本
必
手
&Bofnwx.CoumerDU-flMk面
知
務(wù)
手0
aMonruncelogi&Alemu工
f本M
xro
產(chǎn)屆E/
⑵.通過DOS命令啟動MYSQL服務(wù)
Qd管理員:命令提示符-□X
:\>netstartmysql
ySQL服務(wù)正在啟動..
ySQL服務(wù)己經(jīng)啟動成功.
5.登錄MySQL服務(wù)器。
聞管理員:命令提示符-mysql-hlocalhost-uroot-p-□X
C:\>mysql-hlocalhost-uroot-p
Enterpassword:****
WelcometotheMySQLmonitor.Commandsendwith:or\g.
YourMySQLconnectionidis1
Serverversion:5.5.57MySQLCommunityServer(GPL)
Copyright(c)2000,2017,Oracleand/oritsaffiliates.Allrightsreserved.
OracleisaregisteredtrademarkofOracleCorporationand/orits
affiliates.Othernamesmaybetrademarksoftheirrespective
owners.
Type'help;'or'\h'forhelp.Type'\c'toclearthecurrentinputstatemen
mysql>/qq_3939426
6.認識MySQL界面工具:NavicatforMySQL客戶端工
再
,Navicat8forMySQL
文件?M(V)TJICD?C(W)電助(W
6.利用MySQL客戶端訪問數(shù)據(jù)庫
(1)使用SHOW語句查看系統(tǒng)中已有的數(shù)據(jù)庫:
命令:showdatabases;
Sd管理員:命令提示符-mysql-hlocalhost-uroot-p□X
mysql>showdatabases;
Database
information_schema
mysql
performance_schema
test
4rowsinset(0.05sec)
nvsql>./qq_3939426
(2)使用USE語句選擇MySQL數(shù)據(jù)庫為當前數(shù)據(jù)庫:
命令:usemysql;
勵管理員:命令提示符-mysql-hlocalhost-uroot-p-□X
mysql>usemysql;
Databasechanged
mysql>.
(3)使用SHOWTABLES語句查看當前數(shù)據(jù)庫中的表:
命令:showdatabases;
國1管理員:命令提示符-mysql-hlocalhost-uroot-p—□X
mysql>SHOWTABLES;
Tables_in_root
tb_grade
1rowinset(0.02sec)
二利用MySQL命令行窗口創(chuàng)建數(shù)據(jù)庫及表
1.使用命令行方式創(chuàng)建數(shù)據(jù)庫SM
以管理身份登錄MySQL客戶端,使用CREATE語句創(chuàng)建SM數(shù)據(jù)庫。
命令:
3S管理員:熱令提符-mysql-hlocalhost-uroot-□X
mysql>CREATEDATABASESM;
QueryOK,1rowaffected(0.04sec)
mysql>SHOWDATABASES:
Database
information_schema
itcast
mysql
performance_schema
root
sm
test
7rowsinset(0.00sec)
mysql>/qq_3939426
2.建表結(jié)構(gòu)并設(shè)計完整性
SM數(shù)據(jù)庫中包含3個數(shù)據(jù)表:學生表(student)、課程表(course)、學生選課表(SC)
各表的結(jié)構(gòu)分別如下:
student表結(jié)構(gòu);
字段名稱數(shù)據(jù)類型是否允許空值約束說明
SNOchar(8)X主鍵學號
SNamevarchar(8)X唯一值姓名
SSexchar(2)X檢查約束性別(男或女)
SBirdatetimeV出生日期
ScreditsintV總學分
course表結(jié)構(gòu):
字段名稱數(shù)據(jù)類型是否允許空值約束說明
CNOchar(5)X主鍵課程編號
CNamevarchar(30)X唯一值課程名稱
CPnochar(5)V外碼先修課程
CTimedecimal(3,0)V總學時
CCreditsintV默認值4學分
CTermchar(l)X學期
SC表結(jié)構(gòu):
字段名稱數(shù)據(jù)類型是否允許空值約束說明
SNOchar(8)X外碼學號
CNOchar(5)X外碼課程編號
Scoredecimal(3,l)V0^100戌績
(1)創(chuàng)建student表
(2)命令:
(3)mysql>createtablestudent
(4)->(
(5)->SNochar(8)NOTNULLPRIMARYKEV;
(6)->SNamevarchar(8)NOTNULLUNIQUE,
(7)->SSexchar(2)NOTNULLCHECK(SSexIN(,男)女()),
(8)->SBirdatetime,
(9)->Screditsint
(10)->);
(11)截圖:
mysql>showcreatetablestudent;
Table|CreateTable
Istudent|CREATETABLEstudent(
SNo'char(8)NOTNULL,
'SName'varchar(8)NOTNULL,
'SSex'char(2)NOTNULL,
SBir'datetimeDEFAULTNULL,
'Scredits'int(11)DEFAULTNULL,
PRIMARYKEY('SNo'),
UNIQUEKEY'SName'('SName')
)ENGINE=InnoDBDEFAULTCHARSET=latinl
1rowinset(0.00sec)/qq_39394264
nysql>DESCstudent;
卜一一一一一一一一一十一一一一一一一一一十一―一一一一+一—一一+一一一一—一■-+--------+
1
IFieldTypeINullIKey|DefaultExtra
1___________1______________________1
L-1L1I1
丁丁1
SNochar(8)XOPRINULL
SNamevarchar(8)NOUNINULL
SSexchar(2)XONULL
SBirdatetimeYESNULL
Screditsint(11)YESINULL
1___________1______________________1L
丁丁1
5rowsinset(0.03sec)/qq_39394264
(2)創(chuàng)建course表
命令:
mysql>CREATETABLEcourse
->(
->CNochar(5)NOTNULLPRIMARYKEY
->CNamevarchar(30)NOTNULLUNIQUE,
->CPnochar⑸,
->CTimedecima1(3,0),
->CCreditsintDEFAULT4,
->CTermchar⑴,
->FOREIGNKEY(CPno)REFERENCEScourse(CNo)
->);
截圖:
mysql>showcreatetablecourse;
TableCreateTable
courseCREATETABLEcourse(
CNo'char(5)NOTNULL,
CName'varchar(30)NOTNULL,
CPnochar(5)DEFAULTNULL,
CTime'decimal(3,0)DEFAULTNULL,
CCredits'int(ll)DEFAULT'4',
CTerm-char(l)DEFAULTNULL,
PRIMARYKEY(CNo),
UNIQUEKEYCName'(CName),
KEYCPno(CPno),
CONSTRAINTcourse_ibfk_lFOREIGNKEY(CPno)REFERENCEScourse'(CNo)
EXGINE=InnoDBDEFAULTCHARSET=latinl
rowinset(0.00sec)/qq_39394264
mysql?DEbCcourse;
■I------------------------1---------------------------------1--------------H------------H--------------------H-----------------F
FieldType|Null|KeyDefaultExtra
1-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-J1-_-_-_-_-_-_-_1r,1111nJlr
CNochar(5)NOPRI1NULL
CNamevarchar(30)NOUNINULL
CPnochar(5)YESMULNULL
CTimedecimal(3,0)YESNULL
CCreditsint(ll)YES4
CTermchar(l)|YESINULL
++
二/八ci\/qq393^4264
rowsmset(0.01sec)”
(3)創(chuàng)建SC表
命令:
mysql>CREATETABLESC
->(
->SNochar(8)NOTNULL,
->CNochar(5)NOTNULL,
->Scoredecimal(3,l)CHECK(Score>=0ANDScore<=100)/
->PRIMARYKEYfSNo^Noh
曰
->FORGNKEY(SNo)REFERENCESstudent(SNo)z
->FOREIGNKEY(CNo)REFERENCEScourse(CNo)
->);
截圖:
hysql>SHOWCREATETABLESC;
TableCreateTable
SCCREATETABLEsc*(
SNochar(8)NOTNULL,
CNo'char(5)NOTNULL,
Scoredecimal(3,1)DEFAULTNULL,
PRIMARYKEY(SNo*,CNo*),
KEYCNo*('CNo'),
CONSTRAINTsc_ibfk_lFOREIGNKEY(SNo)REFERENCESstudent(SNo),
CONSTRAINT、sc_ibfk_2'F0REI(MKEY(CNo)REFERENCEScourse'(CNo)
)ENGINE=InnoDBDEFAULTCHARSET=latinl
1rowinset(0.00sec)/qq_39394264
nysql>DESCSC;
Field1TypeINullKeyDefaultExtra
J________1J1J
十r-r十
SNochar(8)NOPRINULL
CNochar(5)NOPRINULL
Scoredecimal(3,1)YESNULL
+______-----------------------j---------+____--------------+______+
|3rowsinset(0.01sec)
二、利用界面工具創(chuàng)建數(shù)據(jù)庫及表
利用NavicatforMySQL客戶端工具創(chuàng)建數(shù)據(jù)庫SM1,并根據(jù)上面給出的表結(jié)構(gòu)在SM1中創(chuàng)
建各表。
1.建庫SM1
截圖:
創(chuàng)建新數(shù)據(jù)庫X
鍵入頰據(jù)庫名:
確定取消
2.建表
(1)創(chuàng)建student表
截圖:
中[Dock]?母設(shè)計]student@>sm1(localhost_3306),□X
陵設(shè)詡皿FtiM“7儒設(shè)計】螂表
文件"
彳酮口保存*另存為門創(chuàng)■仁位口底入秋位?*除爛位,主?畬上移,不移.
欄位索引外K破發(fā)3S選項注記SQL陵覽
名類型長度十避位允許空值。|
SNochar80□人
SNamevardw80□
?SSex20
SBrdatetime00
—Saedtsrt110
值:
默認:
注記:
事
整理
=WU5:5
(2)創(chuàng)建course表
截圖:
截圖:
7蝌口保存器只存為廠1創(chuàng)溫*二位問插入世位司刪除怨位“;主跳畬上移?下移
把位索引外通觸發(fā)3送噴注記SQL長貨
名1類經(jīng)1長度1十H位1允許空值d____1
SNochar80
CNocharS0□
?Scoredeonai3
"J[Bifttt]sc@sm1(k)C3lhost_3306),—□X
文件例*□
7穌?口保存令另存為彳添加儂署軟找SS
它位素引夕圍法項注記SQLfftg
忤I總發(fā)I播入I廂I您I
?|scoreBefbre
定義
Begn
ifnew.Score<Oornew.Score>100
then
setnew.ScorexuJ;
end出
end
【實訓總結(jié)】
1.初期時在安裝老師給的MYSQL5.5時出現(xiàn)問題,安裝成功但不能通過DOS命令行啟動,然
后通過同學的幫忙,安裝了MYSQL5.0并成功啟動。
2.在創(chuàng)建表時,對表的完整性約束條件表達不夠清楚,通過查閱書籍逐漸嘗試而建表成功。
主碼PRIMARYKEY
唯一值UNIQUE
不為空NOTNULL
外碼FOREIGNKEY
默認值DEFAULT
取值范圍CHECK(Score>=0ANDSccre<=100)
3.使用Navicat時不夠熟練,要多加練習,遇到問題要及時解決,并從中吸取經(jīng)驗。
實驗訓練2:數(shù)據(jù)查詢操作
一.實驗目的
1.觀察查詢結(jié)果,體會SELECT語句實際應(yīng)用;
2.要求學生能夠在查詢分析器中使用SELECT語句進行簡單查詢。
3.熟練掌握簡單表的數(shù)據(jù)查詢、數(shù)據(jù)排序和數(shù)據(jù)連接查詢的操作方法。
4.掌握子查詢的表示。
5.熟練掌握數(shù)據(jù)查詢中的分組、統(tǒng)計、計算和組合的操作方法。
二.實驗準備
完成數(shù)據(jù)庫的創(chuàng)建,在數(shù)據(jù)庫中建立教材3.2節(jié)的三個表,并為每個表輸入一定數(shù)量的記錄。
三.實驗內(nèi)容
用SQL語句完成以下查詢
3.杳詢選修1號課程的學生學號和成績,并要求對查詢結(jié)果按成績的降序排列,如果成績
相同則按學號的升序排列:
selectStudent.Sno,Grade
fromStudent,Sc
whereStudent.Sno=Sc.SnoandCno='l'
ORDERBYGradeDESC
6.查詢?nèi)鄙倭顺煽兊膶W生的學號和課程號。
selectStudent.Sno,Cno
fromStudent,Sc
whereStudent.Sno=Sc.SnoandGrade=null
7.查詢每個學生的學號,姓名,選修的課程名,成績;
selectStudent.Sno,Course.Cno.SnameXname,Grade
fromStudent,Sc,Course
whereStudent.Sno=Sc.SnoandCourse.Cno=Sc.Cno
10.查詢每門課程的先行課程的課程名稱,學分;
selectCname,Ccredit
fromCourse
12.查詢每一門課的間接先行課的課程名稱:
selectFirst.Cno,Second.Cpno
fromCourseFirst,CourseSecond
WhereFirst.Cpno=Second.Cno
13.查詢所在系部為“MA”且選修了高等數(shù)學課程的學生姓名,年齡,性別;
selectSname,Sage,Ssex
fromStudent
WhereSdept='MA'andExists(
select
fromcourse,sc
wherecname='數(shù)學'ando=sc.eno
)
15.查詢選修了數(shù)據(jù)結(jié)構(gòu)課程,且成績在90分以上的學生姓名,年齡;
selectSname,Sage
fromStudent,course,sc
WhereSo=oandStudent.sno=Sc.snoandcname='數(shù)據(jù)結(jié)構(gòu)'andgrade>90
20.查詢選修了全部課程的學生的姓名;
selectsname
fromstudent
wherenotexists
(select*
fromcourse
wherenotexists
(select*
fromsc
wheresno=student.sno
andcno=o));
21.查詢至少選修了學號為“201215121”的學生所選修的全部課程的學生學號和姓名;
selectsno,sname
fromstudent
wheresnoin(selectscx.sno
fromscscx
wherenotexistsfselect*
fromscscy
wherescy.sno='201215121'and
notexists(select*
fromscscz
wherescz.sno=scx.snoand
o=o)))
25.查詢選修了操作系統(tǒng)課程的學生人數(shù);
selectcount(distinctsc.sno)
fromstudent,course,sc
whereo=sc.eno
andstudent.sno=sc.sno
andcname=,操作系統(tǒng),
29.查詢選修了數(shù)據(jù)庫課程的最高分
溫馨提示
- 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至2030中國兒童人工耳蝸市場應(yīng)用規(guī)模及投資潛力可行性報告
- 2025至2030中國產(chǎn)權(quán)式酒店行業(yè)發(fā)展模式與未來融資前景研究報告
- 2025-2030麥片行業(yè)風險投資發(fā)展分析及投資融資策略研究報告
- 2025-2030高保真播放器行業(yè)市場現(xiàn)狀供需分析及重點企業(yè)投資評估規(guī)劃分析研究報告
- 2025-2030集裝箱吊具市場發(fā)展分析及行業(yè)投資戰(zhàn)略研究報告
- 2025-2030防曬霜行業(yè)市場發(fā)展現(xiàn)狀及競爭形勢與投資前景研究報告
- 2025-2030銅線行業(yè)市場現(xiàn)狀供需分析及重點企業(yè)投資評估規(guī)劃分析研究報告
- 2025-2030透明塑料瓶行業(yè)市場發(fā)展分析及前景趨勢與投資研究報告
- 天府國際生物城C7-1實驗室項目環(huán)境影響報告
- 家校攜手決戰(zhàn)中考-九年級家長會課件
- 教育公共基礎(chǔ)知識整理版
- 如何預防與處理勞動爭議培訓課件
- JJG 1148-2022電動汽車交流充電樁(試行)
- 儲煤場安全管理規(guī)范
- 小學體育《立定跳遠》教學設(shè)計
- 青島市城市規(guī)劃管理技術(shù)規(guī)定
- 上海市各類建筑工程造價參考標準
- 2022糧食知識競賽真題模擬及答案
評論
0/150
提交評論