版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
國家開放大學MySQL數(shù)據(jù)庫應用實驗
實驗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、完整性約束設計。
【實訓原理】
DBMS環(huán)境的使用
【實訓步驟】
一、熟悉MySQL環(huán)境
1.檢查軟硬件配置是否達到MySQL的安裝要求。
(1)硬件
(2)軟件
2.安裝數(shù)據(jù)庫管理系統(tǒng)MySQL服務器
hntei*password:
3.練習用不同的方法啟動MySQL服務。
4.⑴.通過Windows服務管理器啟動MYSQL服務
□
文件電海作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面
知
務
手0
aMonruncelogi&Alemu工
f本M
xro
產(chǎn)屆E/
⑵.通過DOS命令啟動MYSQL服務
Qd管理員:命令提示符-□X
:\>netstartmysql
ySQL服務正在啟動..
ySQL服務己經(jīng)啟動成功.
5.登錄MySQL服務器。
聞管理員:命令提示符-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.建表結構并設計完整性
SM數(shù)據(jù)庫中包含3個數(shù)據(jù)表:學生表(student)、課程表(course)、學生選課表(SC)
各表的結構分別如下:
student表結構;
字段名稱數(shù)據(jù)類型是否允許空值約束說明
SNOchar(8)X主鍵學號
SNamevarchar(8)X唯一值姓名
SSexchar(2)X檢查約束性別(男或女)
SBirdatetimeV出生日期
ScreditsintV總學分
course表結構:
字段名稱數(shù)據(jù)類型是否允許空值約束說明
CNOchar(5)X主鍵課程編號
CNamevarchar(30)X唯一值課程名稱
CPnochar(5)V外碼先修課程
CTimedecimal(3,0)V總學時
CCreditsintV默認值4學分
CTermchar(l)X學期
SC表結構:
字段名稱數(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ù)上面給出的表結構在SM1中創(chuàng)
建各表。
1.建庫SM1
截圖:
創(chuàng)建新數(shù)據(jù)庫X
鍵入頰據(jù)庫名:
確定取消
2.建表
(1)創(chuàng)建student表
截圖:
中[Dock]?母設計]student@>sm1(localhost_3306),□X
陵設詡皿FtiM“7儒設計】螂表
文件"
彳酮口保存*另存為門創(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
【實訓總結】
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.觀察查詢結果,體會SELECT語句實際應用;
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ù)量的記錄。
三.實驗內容
用SQL語句完成以下查詢
3.杳詢選修1號課程的學生學號和成績,并要求對查詢結果按成績的降序排列,如果成績
相同則按學號的升序排列:
selectStudent.Sno,Grade
fromStudent,Sc
whereStudent.Sno=Sc.SnoandCno='l'
ORDERBYGradeDESC
6.查詢缺少了成績的學生的學號和課程號。
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ù)結構課程,且成績在90分以上的學生姓名,年齡;
selectSname,Sage
fromStudent,course,sc
WhereSo=oandStudent.sno=Sc.snoandcname='數(shù)據(jù)結構'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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 三方參與股權轉讓合同示范文本版
- 初中英語七年級知識點總結
- 2024西安存量房買賣資金監(jiān)管服務協(xié)議
- 2025年度智能制造勞動合同法實施細則3篇
- 2024期限內渣土外運進度保障合同
- 2025年度創(chuàng)意辦公空間轉租及配套服務合同3篇
- 2024年租賃場所安全協(xié)議書2篇
- 2024年蘋果手機維修服務合同范本3篇
- 2024藥品采購合同范本:慢性病藥品采購合作協(xié)議3篇
- 專業(yè)化運輸作業(yè)承包協(xié)議模板
- 2023-2024學年江蘇省徐州市九年級(上)期中物理試卷
- 硅石項目建議書范本
- 起重機械安全生產(chǎn)隱患課件
- 概率論在金融風險評估中的應用研究
- 外墻外保溫工程檢驗批質量驗收記錄表
- 信訪十種情形追責問責制度
- 大型儲罐施工工法倒裝法安裝
- 手機歸屬地表格
- 一年級上冊數(shù)學思維教材
- GB/T 24479-2023火災情況下的電梯特性
- 鼻空腸管的護理
評論
0/150
提交評論