數(shù)據(jù)庫實驗報告一 2_第1頁
數(shù)據(jù)庫實驗報告一 2_第2頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

PAGE6/NUMPAGES6數(shù)據(jù)庫實驗報告一2數(shù)據(jù)庫理論與技術(shù)實驗報告

2012-2013第二學(xué)期

實驗二:SQL的數(shù)據(jù)定義和更新

指導(dǎo)教師:虞勤國

實驗時間:2013年4月1日實驗地點:計算中心二樓班級:

組長:

組員:

成績:

實驗二:SQL的數(shù)據(jù)定義和更新

實驗?zāi)康?/p>

熟練掌握建立數(shù)據(jù)庫和表,向數(shù)據(jù)庫輸入數(shù)據(jù)、修改數(shù)據(jù)和刪除數(shù)據(jù)的操作。

實驗內(nèi)容

建立數(shù)據(jù)庫并設(shè)計各表,輸入多條實際數(shù)據(jù),并實現(xiàn)數(shù)據(jù)的增、刪、改操作。

實驗步驟:

創(chuàng)建用于學(xué)生管理數(shù)據(jù)庫,數(shù)據(jù)庫名為XSGL,包含學(xué)生的基本信息,課程信息和選課信息。數(shù)據(jù)庫XSGL包含下列3個表:

(l)student:學(xué)生基本信息。

(2)course:課程信息表。

(3)sc:學(xué)生選課表。

各表的結(jié)構(gòu)分別如表1、表2和表3所示。

表2課程信息表:course

表3學(xué)生選課表:sc

一.數(shù)據(jù)庫的建立:

1.用可視化界面建立:

(a)在SQLSERVER中用企業(yè)管理器-新建數(shù)據(jù)庫;

2.命令方式建立:

(a)在SQLSERVER中,在查詢分析器中使用T-SQL語句:

CREATEDATABASEXSGL

ON(NAME='XSGL_DATA',

FILENAME='c:\XSGL.MDF',

SIZE=10MB,

MAXSIZE=50MB,

FILEGROWTH=5%)

LOGON

(NAME='XSGL_Log',

FILENAME='c:\XSGL_Log.ldf',

SIZE=2MB,

MAXSIZE=5MB,

FILEGROWTH=1MB)

二.表的建立:

1.用可視化界面建立:

在SQLSERVER中用企業(yè)管理器—數(shù)據(jù)庫—XSCJ—表—右鍵—新建表;

實驗結(jié)果,如下所示:

2.命令方式建立:

在SQLSERVER中查詢分析器的編輯窗口中用下列SQL語句:

useXSGL

Createtablestudent(snoCHAR(5),snameCHAR(10),ssexCHAR(2),sageint,sdeptCHAR(4))go

Createtablecourse(cnoCHAR(2),cnameCHAR(30),creditINT,pcnoCHAR(2)NULL)

go

Createtablesc(snoCHAR(5),cnoCHAR(2),gradeINTNULL)

Go

三.表數(shù)據(jù)的添加:

1.用可視化方法:

I:在SQLSERVER中用企業(yè)管理器—數(shù)據(jù)庫—XSCJ—表-表名—右鍵-打開表-返回所有行;

輸入下列數(shù)據(jù):

snosnamessexsagesdept

95001李勇男20CS

95002劉晨女19IS

95003王敏女18MA

95004張立男19IS

95005劉云女18CS

cnocnamecreditpcno

1數(shù)據(jù)庫45

2數(shù)學(xué)6

3信息系統(tǒng)31

4操作系統(tǒng)46

snocnograde950011929500128595001

38895002290

95002380950032859500415895004

2

85

要求:(1)給出輸入數(shù)據(jù)后的數(shù)據(jù)庫表的窗口截圖

實驗結(jié)果,如下所示:

1)建立學(xué)生信息表:student的結(jié)果:

2)建立課程信息表:course的結(jié)果:

3)建立學(xué)生選課表:sc的結(jié)果:

5數(shù)據(jù)結(jié)構(gòu)476數(shù)據(jù)處理37

PASCAL語言

4

6

(2)因為下面要用命令行方式插入同樣數(shù)據(jù),請在清空SQLSERVER查詢分析器的編輯窗口中使用deletefrom命令先清空以上三表。

實驗結(jié)果,以清空學(xué)生信息表:student為例,如下所示:

清空學(xué)生信息表:student的結(jié)果:

2.在SQLSERVER查詢分析器的編輯窗口中使用下列SQL語句插入數(shù)據(jù):

insertintostudent(sno,sname,ssex,sage,sdept)values('95001','李勇','男',20,'CS')

insertintostudent(sno,sname,ssex,sage,sdept)values('95002','劉晨','女',19,'IS')

insertintostudent(sno,sname,ssex,sage,sdept)values('95003','王敏','女',18,'MA')insertintostudent(sno,sname,ssex,sage,sdept)values('95004','張立','男',19,'IS')

insertintostudent(sno,sname,ssex,sage,sdept)values('95005','劉云','女',18,'CS')

go

insertintocourse(cno,cname,credit,pcno)values('1','數(shù)據(jù)庫',4,'5')

insertintocourse(cno,cname,credit,pcno)values('2','數(shù)學(xué)',6,null)

insertintocourse(cno,cname,credit,pcno)values('3','信息系統(tǒng)',3,'1')

insertintocourse(cno,cname,credit,pcno)values('4','操作系統(tǒng)',4,'6')

insertintocourse(cno,cname,credit,pcno)values('5','數(shù)據(jù)結(jié)構(gòu)',4,'7')

insertintocourse(cno,cname,credit,pcno)values('6','數(shù)據(jù)處理',3,null)

insertintocourse(cno,cname,credit,pcno)values('7','PASCAL語言',4,'6')

go

insertintosc(sno,cno,grade)values('95001','1',92)

insertintosc(sno,cno,grade)values('95001','2',85)

insertintosc(sno,cno,grade)values('95001','3',88)

insertintosc(sno,cno,grade)values('95002','2',90)

insertintosc(sno,cno,grade)values('95002','3',80)

insertintosc(sno,cno,grade)values('95003','2',85)

insertintosc(sno,cno,grade)values('95004','1',58)

insertintosc(sno,cno,grade)values('95004','2',85)

Go

要求:給出上述命令執(zhí)行結(jié)果

實驗結(jié)果,如下所示:

1)建立學(xué)生信息表:student的結(jié)果:

2)建立課程信息表:course的結(jié)果:

3)建立學(xué)生選課表:sc的結(jié)果:

四.表數(shù)據(jù)的修改:

1.用可視化方法:

在SQLSERVER中用企業(yè)管理器—數(shù)據(jù)庫—XSCJ—表-表名—右鍵-打開表-返回所有行;在表格中將相應(yīng)的數(shù)據(jù)修改即可。

實驗結(jié)果,如下所示:

將學(xué)號為95001學(xué)生的年齡增加一歲,結(jié)果如下:

2.命令方法:

將所有學(xué)生的年齡增加一歲:updatestudentsetsage=sage+1

將4號課程的學(xué)分改為4:updatecoursesetcredit=4wherecno=4

設(shè)置7號課程沒有先行課:updatecoursesetpcno=nullwherecno=7

將95001號學(xué)生的1號課程的成績增加3分:updatescsetgrade=grade+3wheresno=’95001’andcno=’1’

要求:顯示修改結(jié)果

實驗結(jié)果,如下所示:

1)將所有學(xué)生的年齡增加一歲:updatestudentsetsage=sage+1的結(jié)果:

2)將4號課程的學(xué)分改為4:updatecoursesetcredit=4wherecno=4的結(jié)果:

3)設(shè)置7號課程沒有先行課:updatecoursesetpcno=nullwherecno=7的結(jié)果:

4)將95001號學(xué)生的1號課程的成績增加3分:updatescsetgrade=grade+3wheresno=’95001’andcno=’1’的結(jié)果:

五.表數(shù)據(jù)的刪除:

1.用可視化方法:

在SQLSERVER中用企業(yè)管理器—數(shù)據(jù)庫—XSCJ—表-表名—右鍵-打開表-返回所有行;

單擊左邊的行標(biāo)記,選定某一行,或單擊后拖動選擇相鄰的多行,再右擊鼠標(biāo)選擇彈出式菜單中的刪除。

實驗結(jié)果,如下所示:

在course表中,將課號為1、2所在行刪除,結(jié)果如下:

2.命令方法:

1)請自己設(shè)計幾條針對所見三表的select查詢命令,顯示結(jié)果。設(shè)計了多表查詢的同學(xué)可以給我看,根據(jù)設(shè)計情況決定是否加分。

a.選出student中的sname、ssex,并且將sname改為姓名、ssex改為性別

selectsnameAs姓名,ssexAs性別

fromstudent

wheresdept='CS'

b.選出成績大于等于90的課程名稱

selectcname

fromsc,course

wherehttp://./doc/de8d31e6ac51f01dc281e53a580216fc710a537b.htmlo=http://./doc/de8d31e6ac51f01dc281e53a580216fc710a537b.htmloAndgrade>=90

c.選出成績及格而且課程名為數(shù)學(xué)的學(xué)生學(xué)號、學(xué)生姓名、成績,并且按照分?jǐn)?shù)從高到底的順序排列出來

selectstudent.sno,sname,cname,grade

fromsc,course,student

wherehttp://./doc/de8d31e6ac51f01dc281e53a580216fc710a537b.htmlo=http://./doc/de8d31e6ac51f01dc281e53a580216fc710a537b.htmloAndsc.sno=student.sno

Andgrade>=60Andcname='數(shù)學(xué)'

orderbygradedesc

2)刪除學(xué)號為95005的學(xué)生的記錄:deletefromstudentwheresno=’95005’

3)刪除所有的課程記錄:deletefromcourse

4)刪除成績?yōu)椴患案瘢ㄉ儆?0分)的學(xué)生的選課記錄:deletefromscwheregrade<60

說明:雖然是分組實驗,以組為單位交一份報告。但實驗中間我要抽查,請諸位人人行動,放手一做。

實驗結(jié)果,如下所示:

1)幾條針對所見三表的select查詢命令,顯示的結(jié)果

a.選出student中的sname、ssex,并且將sname改為姓名、ssex改為性別

b.選出成績大于等于90的課程名稱

c.選出成績及格而且課程名為數(shù)學(xué)的學(xué)生學(xué)號、學(xué)生姓名、成績,并且按照分?jǐn)?shù)從高到底的順序排列出來

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論