SQL實訓報告
SQLServer實訓報告
班級:姓名:學號:實訓名稱:SQLServer數(shù)據(jù)庫應用技術(shù)實訓題目:教學信息管理
實訓目的:通過本次實訓,使學生了解開發(fā)數(shù)據(jù)庫應用程序的過程;通過數(shù)據(jù)庫設計,加深對數(shù)據(jù)庫基礎(chǔ)理論的理解并能靈活運用;掌握利用SQLServer201*數(shù)據(jù)庫管理系統(tǒng)創(chuàng)建、管理、維護數(shù)據(jù)庫的基本方法及過程;培養(yǎng)開發(fā)數(shù)據(jù)庫的設計思維。實訓內(nèi)容:
本人與郭曉峰主要負責‘教學信息管理’系統(tǒng)。
主要包括數(shù)據(jù)的導入和導出、數(shù)據(jù)庫結(jié)構(gòu)的分析與建立、表關(guān)系的添加、查詢、外關(guān)鍵字的約束、檢查約束、默認值、試圖、表存儲過程和觸發(fā)器的學習,以及在表的操作過程中,有查看表信息、查看表屬性、修改表中的數(shù)據(jù)、刪除表中的數(shù)據(jù)及修改表和刪除表的操作。本人主要負責數(shù)據(jù)的導入,數(shù)據(jù)庫的建立,查詢數(shù)據(jù)庫的建立:包括數(shù)據(jù)附加分離數(shù)據(jù)導入:導入EXCEL表中各個數(shù)據(jù)(學生信息表班機信息表學生成績表授課表教師表課程信息表)
查詢:查詢學生記錄數(shù)查詢成績平均分上課人數(shù)學校人員低于平均分者學生信息低于平均分者自定義函數(shù)
一總體設計思路
當看到這個題目我想到一個完整的教學信息管理應包括:學生信息表、班級信息表、課程信息表、學生成績表、教師表、授課表等。在整個系統(tǒng)中有兩個實體:學生和老師。二表結(jié)構(gòu)
我的系統(tǒng)有六張表組成:學生信息表
列名數(shù)據(jù)類型寬度允許空值說明學號char4否主鍵姓名char10是性別char2是默認值:男班級號char8是專業(yè)char20是系別char20是聯(lián)系電話char20是入學日期datetime8是備注char50是班級信息表
列名數(shù)據(jù)類型寬度允許空值說明班級號Char8否主鍵、外鍵年級Char8是班主任Char8是教師號char8是課程信息表
列名數(shù)據(jù)類型寬度允許空值說明課程號Char8否主鍵課程名稱Char10是課程類型Char8是學分Char8是課程說明Char10是學生成績表
列名數(shù)據(jù)類型寬度允許空值說明學號Char8否主鍵班級號Char8是學期Char8是課程號Char是課程名稱Char8是成績decimal8是教師表
列名數(shù)據(jù)類型寬度允許空值說明教工號Char8否主鍵教師姓名Char8是性別Char8是職稱Char8是授課表
列名數(shù)據(jù)類型寬度允許空值說明教工號Char8否主鍵課程號char8是Excel表格主要如下:班級信息
學生信息
學生成績教師表授課表
課程信息:
二數(shù)據(jù)庫的建立:
1在開始菜單中選擇“程序MicrosoftSqlServer企業(yè)管理器”選型,就啟動了企業(yè)管理器,打開工具窗口如圖所示
2在企業(yè)管理器樹狀目錄窗口中展開一個服務器組,選定服務器。然后在該服務器下的‘數(shù)據(jù)庫’結(jié)點上單擊鼠標右鍵,快捷菜單中的‘新建數(shù)據(jù)庫’選項出現(xiàn)數(shù)據(jù)庫屬性對話框,如下圖所示
3數(shù)據(jù)庫屬性有三個標簽,用來數(shù)據(jù)名稱和數(shù)據(jù)文件,日志文件的名稱、位置、初始大小和屬性等內(nèi)容。
在‘常規(guī)‘標簽的名稱文本框中輸入’教學管理系統(tǒng)‘選擇服務器默認設置的排序規(guī)則名稱4數(shù)據(jù)文件、日志文件均按服務器默認的數(shù)值
三數(shù)據(jù)的導入如下:
1在‘教學管理系統(tǒng)‘數(shù)據(jù)庫節(jié)點上單擊鼠標右鍵’,在‘所有任務’菜單上單擊‘導入數(shù)據(jù)’選項啟動后,顯示初始工作界面如下圖:
‘數(shù)據(jù)源’選擇microsoftExcel97-201*,‘文件名’選擇所需的表,單擊下一步,過程如下圖所示:
四查詢過程(1)查詢學生信息的學生人數(shù)。
use教學信息管理
declare@recordcountint
select@recordcount=count(*)from學生信息表
select@recordcountas"學生表(學生信息表)中記錄數(shù)"go
查詢結(jié)果
(2)查詢學校人員use教學信息管理
select教師姓名+職稱as"學校人員"from教師表查詢結(jié)果
(3)查詢平均分,首先要自定義函數(shù)1、use教學信息管理go
createfunctionaverage_1()returnsrealbegin
declare@averreal
select@aver=(selectavg(成績)from學生成績)return@averend
2、use教學信息管理go
selectdbo.average_1()as總平均分select*from學生成績$
where成績>dbo.average_1()查詢結(jié)果
(4)查詢低于平均分人數(shù)查詢結(jié)果
use教學信息管理
selectdistinct學號as分數(shù)低于平均分者from學生成績
where成績查詢結(jié)果
(6)查詢上課人數(shù)use教學信息管理go
declare@recordint
select@record=count(*)from學生信息表if@record>40begin
print"該班有"+ltrim(str(@record))+"人"print"進行分班上課"endelsebegin
print"該班有"+ltrim(str(@record))+"人"print"單班上課"end
查詢結(jié)果
五實訓總結(jié)
我們進入了一個新的充滿機遇與挑戰(zhàn)的時代,信息系統(tǒng)在管理各項事務中有著普遍的應用,促進了企業(yè)管理工作的提升。管理信息系統(tǒng)是為管理服務的,它的開發(fā)和建立使企業(yè)擺脫落后的管理方式,實現(xiàn)管理現(xiàn)代化的有效途徑。管理信息系統(tǒng)將管理工作統(tǒng)一化、規(guī)范化、現(xiàn)代化,極大地提高了管理的效率,使現(xiàn)代化管理形成統(tǒng)一、高效的系統(tǒng)。管理信息系統(tǒng)使用系統(tǒng)思想建立起來的,以計算機為信息處理手段,以現(xiàn)代化通信設備為基本傳輸工具,能力管理決策者提供信息服務的人機系統(tǒng),這無疑是將管理與現(xiàn)代化接軌,以科技提高管理質(zhì)量的重大舉措。管理信息系統(tǒng)將大量復雜的信息處理交給計算機,使人和計算機充分發(fā)揮各自的特長,組織一個和諧、有效的系統(tǒng),為現(xiàn)代化管理帶來便捷。?
數(shù)據(jù)庫是計算機應用的一項重要技術(shù)。通過這次的實訓,學到了很多的東西,首先是小組成員的協(xié)調(diào)工作,分配工作,知道了團結(jié)的力量與重要性,其次是我把課本里的難關(guān)攻克了,查詢就是我的難關(guān),在這兩周的實訓中,了解了查詢的相關(guān)內(nèi)容,對查詢再也不是茫然的!。本數(shù)據(jù)庫與課本內(nèi)容緊密結(jié)合,結(jié)構(gòu)緊湊,根據(jù)所學知識,建立了教學性能系管理系統(tǒng),建表時也有很多困難,要考慮字段的類型,長度、主鍵的建立等等
Excel表的導入也不是那么順利,經(jīng)過失敗的嘗試,還是完美的導入到數(shù)據(jù)庫中。
查詢是SqlServer中的重中之重,在制作過程中,也是小組最努力的地方,了解查詢語句的先后順序,例如selectfromwherebegincreate這些單詞的在Sqlserver中的主要功能。有時在查詢中會遇到把它們的順序?qū)戝e,有時會把表里的字段弄錯。但最終還是克服了種種難題,經(jīng)過我們的努力最終完成了教學信息管理系統(tǒng)。
雖然不是最好的,但我相信,只要努力了,付出了,把不明白的弄懂了,學會了,才是關(guān)鍵!
擴展閱讀:SQL Server 201*實習報告
一、實驗二實驗目的
1、掌握使用SQL語句創(chuàng)建和刪除數(shù)據(jù)庫;
2、掌握使用SQL語句創(chuàng)建和刪除數(shù)據(jù)表,創(chuàng)建各種完整性約束,修改表的結(jié)構(gòu);3、掌握索引的創(chuàng)建和刪除方法。
實驗三實驗目的
掌握查詢語句的使用方法,重點掌握連接查詢和嵌套查詢,理解查詢的執(zhí)行過程。
實驗四實驗目的
1、掌握數(shù)據(jù)更新語句的使用;
2、掌握視圖操作的基本方法和應用,理解基于視圖的查詢和數(shù)據(jù)更新操作的過程。
二、實驗二預備知識
1、數(shù)據(jù)庫的建立與刪除
可以使用SQL語句建立數(shù)據(jù)庫,語句格式為:
CREATEDATABASE
其中CREATEDATABASE為關(guān)鍵字,為用戶創(chuàng)建的數(shù)據(jù)庫的名稱,由用戶自定。
使用DROPDATABASE語句可以刪除數(shù)據(jù)庫,語句格式為:
DROPDATABASE
其中DROPDATABASE為關(guān)鍵字,為要刪除的數(shù)據(jù)庫的名稱。當數(shù)據(jù)庫被刪除時,數(shù)據(jù)庫中的所有數(shù)據(jù)對象也一起被刪除掉。2、數(shù)據(jù)表的創(chuàng)建與刪除
使用CreateTable語句創(chuàng)建數(shù)據(jù)表,語句格式為:
CREATETABLE([列級完整性約束條件][,[列級完整性約束條件]]
[,]);
其中CREATETABLE為關(guān)鍵字,為數(shù)據(jù)表的名稱,由用戶確定,為組成這個表的屬性列的名稱,由用戶確定,為屬性列的取值的類型,由用戶在具體的DBMS所提供的數(shù)據(jù)類型中選擇。
使用DropTable語句刪除數(shù)據(jù)表,語句格式為:
DROPTABLE
注意:刪除一個表,表的定義以及表中的所有數(shù)據(jù),以及該表的索引、約束、觸發(fā)器等將自動刪除,并且與表相關(guān)聯(lián)的規(guī)則和默認對象也將失去與它的關(guān)聯(lián)關(guān)系。3、修改基本表
使用ALTERTABLE語句修改已建立好的基本表,該語句可以實現(xiàn)添加、修改、刪除基本(1)添加操作
表中的屬性列、約束等操作,下面分別給出語句格式及說明:
在ALTERTABLE語句中使用ADD子句添加新列和新的完整性約束,添加新列的語句格式
ALTERTABLEADD
添加新的完整性約束語句格式如下:
ALTERTABLEADD
(2)修改操作
在ALTERTABLE語句中使用ALTERCOLUMN子句修改原有列的定義,語句格式如下:
ALTERTABLEALTERCOLUMN
(3)刪除操作
如下:
在ALTERTABLE語句中使用DROP子句刪除已有的列和完整性約束條件,刪除列的語句
ALTERTABLEDROPCOLUMN
格式如下:
刪除完整性約束條件的語句格式為:
ALTERTABLEDROP
關(guān)于ALTERTABLE語句更詳細的語法格式請參照“聯(lián)機叢書”,下面通過實例給出ALTERTABLE語句的具體用法,如下:
操作添加修改刪除類型添加新列添加新的完整性約束修改原有列的定義刪除已有完整性約束刪除已有列實例AltertablesaddSidchar(20)Altertablesaddunique(sid)AltertablesaltercolumnSidchar(30)Altertablesdropuq_sidAltertablesdropcolumnSid4、索引的創(chuàng)建與刪除
使用CREATEINDEX語句創(chuàng)建索引,語句格式為:
CREATE[UNIQUE][CLUSTERED|NONCLUSTERED]INDEX
ON(列名[ASC|DESC][,...n])
其中UNIQUE、CLUSTERED、NONCLUSTERED指出所建索引的類型,分別為唯一性索引、聚集索引和非聚集索引。
注意:不能在數(shù)據(jù)類型為text、ntext和image的列上建立索引。使用DROPINDEX語句刪除索引,語句格式為:
DROPINDEX
注意:DropIndex語句能夠刪除CreateIndex語句所建立的索引,但是它不能刪除SQLSever為PrimaryKey或Unique約束所建立的索引,這些索引只能通過刪除約束或表的方法來刪除。
實驗三預備知識
查詢語句的基本格式如下:
SELECT--需要哪些列
FROM--來自于哪些表[WHERE]--根據(jù)什么條件[GROUPBY]--分組[HAVING]--篩選[ORDERBY]--排序
實驗四預備知識
1.數(shù)據(jù)更新基本語句及其格式(1)插入操作
SQL的數(shù)據(jù)插入語句INSERT有兩種形式:①插入單個元組,使用命令:
INSERTINTO基本表名(列名表)
VALUES(元組)
②插入子查詢的結(jié)果:
INSERTINTO基本表名(列表名)查詢語句
(2)修改操作
當需要修改指定關(guān)系中元組的值時,可使用下列語句實現(xiàn):UPDATE基本表名
SET列名1=值表達式1[,列名2=值表達式2][WHERE條件表達式](3)刪除操作
刪除關(guān)系中滿足條件的元組語句格式如下:DELETEFROMWhere
三.實驗步驟
實驗二
1.建立數(shù)據(jù)庫,點擊新建查詢,如圖:
單擊刷新,數(shù)據(jù)庫中出現(xiàn)新建的“gongcheng”數(shù)據(jù)庫。2.建立數(shù)據(jù)表
右擊“gongcheng”,單擊新建查詢,寫入代碼,如圖:
單擊刷新,展開表,可看見新建的四個表。3.修改數(shù)據(jù)庫,寫入代碼后執(zhí)行。
寫入代碼,分別在表S、P、J表中的Sno,Pno,Jno屬性列上建立唯一索引(升序)。如圖:
4.錄入數(shù)據(jù)
將課本上的數(shù)據(jù)寫進excel表格中,在SQLServer201*中執(zhí)行導入操作,結(jié)果如圖:
5右擊“gongcheng”,單擊“新建查詢”。完成以下查詢:(1)查詢所有供應商所在的城市。
(2)查詢零件重量在10-20之間(包括10和20)的零件名和顏色。
(3)查詢工程項目的總個數(shù)。
(4)查詢所有零件的平均重量。
(5)查詢供應商S3供應的零件號。
(6)查詢各個供應商號及其供應了多少類零件。
(7)查詢供應了2類以上零件的供應商號。
(select供應情況表SPJ.Snofrom供應情況表SPJwhere
(selectCOUNT(供應情況表SPJ.Pno)From供應情況表SPJ)>2groupbySno)
(8)查詢零件名以“螺”字開頭的零件信息。
(9)查詢工程項目名中最后一個字為“廠”字的工程項目所在的城市。
(10)查詢給每個工程供應零件的供應商的個數(shù)。
(11)查詢供應數(shù)量在1000201*之間(包括1000和201*)的零件名稱。
select零件表P.pnamefrom零件表P,供應情況表SPJgroupby供應情況表SPJ.PnohavingCOUNT(供應情況表SPJ.QTY)>=1000andcount(供應情況表SPJ.QTY)=1000and供應情況表SPJ.QTY
問題一:
問題二:
問題三:
問題四:
問題五:
問題六:
問題七:
6.在“學生選課管理”數(shù)據(jù)庫中完成以下查詢:(1)查詢是“選修課”的課程號、課程名。
(2)查詢學號為“09105103”學生所學課程的課程名與學分。
(3)查詢選修課程號為“002”或“004”的學生的學號。
(4)查詢選修了課程號為“002”和“004”的學生的學號。
(5)查詢學習全部課程的學生姓名。
實驗三
1.在“gongcheng”新建查詢,對數(shù)據(jù)庫做一下更新:
(1)現(xiàn)有一供應商,代碼為S9、姓名為英特爾、所在城市西安,供應情況如下:供應零件P5給工程J7數(shù)量為600,供應零件P4給工程J4數(shù)量為500,請將此供應商的信息和供應信息插入數(shù)據(jù)庫。
(2)請將北京供應商的供應數(shù)量加20
零件P3已經(jīng)停產(chǎn),請將P3的相關(guān)信息從數(shù)據(jù)庫中刪除。
(4)創(chuàng)建零件名為螺絲刀的供應情況的視圖P_ls,包括供應商名(Sname),零件名(Pname),零件重量(Weight),工程項目代碼(Jno),供應數(shù)量(QTY).
(5)在視圖P_ls中查詢供應數(shù)量為500的供應商姓名。
2.導入“student”數(shù)據(jù)庫,新建查詢,完成以下操作:(1)學生孫天要退學,請刪除該學生的所有記錄。先刪除學生選課表中信息:
再刪除學生表中信息:
學號為“9105101”的學生信息全部被刪除。
(2)將學號為09105103學生的所有課程成績加10分。
(3)學校開了一門新課,課稱號為056課程名為信息系統(tǒng)分析,請將此門課程的信息插入。
(4)創(chuàng)建查詢每個學生的修課學分的視圖,要求列出學生學號及總學分。
(5)在創(chuàng)建的視圖中查詢學生李麗所修的學分數(shù)。
實驗代碼:
在創(chuàng)建的“gongcheng”數(shù)據(jù)庫中使用SQL語句建立4個關(guān)系(可參考課本P74習題5),如下:供應商表S(Sno,Sname,Status,Ctiy)零件表P(Pno,Pname,Color,Weight)工程項目表J(Jno,Jname,City)供應情況表SPJ(Sno,Pno,Jno,QTY)要求:
(1)創(chuàng)建每個關(guān)系的主鍵,有外鍵的創(chuàng)建外鍵。(2)S表中的Sname屬性列的取值唯一
(3)P表中weight屬性列的取值范圍在1-50之間(4)J表中的Jname取值不能為空并且是唯一的(5)SPJ表中QTY屬性列的數(shù)據(jù)類型必須為int
Createtable供應商表S(Snochar(10)primarykey,Snamechar(10)unique,Statuschar(10)null,citychar(10)null)
Createtable零件表P(Pnochar(10)primarykey,Pnamechar(10)null,colorchar(10)null,
weightintcheck(weight>=0andweight
Jnamechar(10)notnullunique,citychar(10)null)
Createtable供應情況表SPJ(Snochar(10)notnull,Jnochar(10)notnull,Pnochar(10)notnull,QTYintnull,
primarykey(Sno,Jno,Pno),
foreignkey(Sno)references供應商表S(Sno),foreignkey(Pno)references零件表P(Pno),foreignkey(Jno)references項目工程表J(Jno))2.修改表的結(jié)構(gòu)
用SQL語句完成以下操作:
(1)給S表增加Sphone和Semail兩個屬性列,分別用來存放供應商的聯(lián)系電話和電子信箱。
altertable供應商表Saddsemailchar(20);(2)刪除Jname屬性列取值唯一的約束。
altertable項目工程表JdropUQ__項目工程表J__5A1986B60DAF0CB0;
(3)將QTY屬性列的數(shù)據(jù)類型修改為Smallint型。
altertable供應情況表SPJaltercolumnQTYsmallint;(4)刪除S表中的屬性列Semail
altertable供應商表Sdropcolumnsemail;
3.創(chuàng)建、刪除索引
通過SQL語句分別在表S、P、J表中的Sno,Pno,Jno屬性列上建立唯一索引(升序)
CreateuniqueindexSsnoon供應商表S(Sno);CreateuniqueindexPpnoon零件表P(Pno);CreateuniqueindexJjnoon項目工程表J(Jno);4.在“gongcheng”數(shù)據(jù)庫中完成以下查詢(1)查詢所有供應商所在的城市。SelectcityFrom供應商表S
(2)查詢零件重量在10-20之間(包括10和20)的零件名和顏色。Selectweight,colorFrom零件表P
Whereweight>10andweight
From供應情況表SPJWhereSno="S3"
(6)查詢各個供應商號及其供應了多少類零件。SelectSno,COUNT(Pno)From供應情況表SPJGroupbySno
(7)查詢供應了2類以上零件的供應商號。SelectSno
From供應情況表SPJGroupbySnoHavingCOUNT(Pno)>2
(8)查詢零件名以“螺”字開頭的零件信息。SelectPno,Pname,color,weightFrom零件表P
WherePnamelike"螺%"
(9)查詢工程項目名中最后一個字為“廠”字的工程項目所在的城市。Select*
From項目工程表JWhereJnamelike"%廠"
(10)查詢給每個工程供應零件的供應商的個數(shù)。Selectcount(Sno)
From供應情況表SPJGroupbyJno
(11)查詢供應數(shù)量在1000201*之間(包括1000和201*)的零件名稱。
Select零件表P.PnameFrom零件表P,供應情況表SPJGroupby供應情況表SPJ.PnoHavingCOUNT(供應情況表SPJ.QTY)>=1000andcount(供應情況表SPJ.QTY)=1000and供應情況表SPJ.QTY
Groupby項目工程表J.Jno
Select零件表P.Pno,供應情況表SPJ.QTYFrom零件表P,供應情況表SPJ
Where供應情況表SPJ.Jno="J2"and零件表P.Pno=供應情況表SPJ.PnoSelect零件表P.Pno
From零件表P,供應商表S,供應情況表SPJWhere供應商表S.city="上海"and供應情況表SPJ.Pno=零件表P.Pnoand供應情況表SPJ.Sno=供應商表S.SnoGroupby零件表P.PnoSelect項目工程表J.Jname
From項目工程表J,供應情況表SPJ,供應商表SWhere項目工程表J.Jno=供應情況表SPJ.Jno供應商表S.city="上海"and
供應情況表SPJ.Sno=供應商表S.SnoGroupby項目工程表J.JnameSelect項目工程表J.Jno
From項目工程表J,供應情況表SPJ,供應商表SWhere項目工程表J.Jno=供應情況表SPJ.Jno供應商表S.city"天津"and供應情況表SPJ.Sno=供應商表S.Sno
andand
Groupby項目工程表J.Jno
5.在“學生選課管理”數(shù)據(jù)庫中完成以下查詢(1)查詢是“選修課”的課程號、課程名。SelectCno,CnameFrom[課程表(C)]WhereProperty="選修"
(2)查詢學號為“09105103”學生所學課程的課程名與學分。Select[課程表(C)].Cname,CreditFrom[課程表(C)],[學生選課表(SC)]
Where[學生選課表(SC)].Sno="9105103"and[課程表(C)].Cno=[學生選課表(SC)].Cno
(3)查詢選修課程號為“002”或“004”的學生的學號。SelectSno
From[學生選課表(SC)]WhereCno=2orCno=4GroupbySno
(4)查詢選修了課程號為“002”和“004”的學生的學號。SelectSno
From[學生選課表(SC)]WhereCno=2andCno=4GroupbySno
(5)查詢學習全部課程的學生姓名。
Select[學生表(S)].Sname
From[學生表(S)],[學生選課表(SC)]WhereCno=all(SelectCno
From[學生選課表(SC)])
And[學生表(S)].Sno=[學生選課表(SC)].Sno6.在實習二創(chuàng)建的“gongcheng”數(shù)據(jù)庫中使用SQL語句完成以下操作
(1)現(xiàn)有一供應商,代碼為S9、姓名為英特爾、所在城市西安,供應情況如下:供應零件P5給工程J7數(shù)量為600,供應零件P4給工程J4數(shù)量為500,請將此供應商的信息和供應信息插入數(shù)據(jù)庫。Insert
Into供應商表S(Sno,Sname,city)Values("S9","英特爾","西安");Insert
Into供應情況表SPJ(Pno,Jno,Sno,QTY)
Values("P5","J7","S9","600"),("P4","J4","S9","500")
(2)請將北京供應商的供應數(shù)量加20Update供應情況表SPJSetQTY=QTY+20WhereSnoin
(SelectSnoFrom供應商表SWherecity="北京")
(3)零件P3已經(jīng)停產(chǎn),請將P3的相關(guān)信息從數(shù)據(jù)庫中刪除。Delete
From供應情況表SPJWherePno="P3"DeleteFrom零件表PWherePno="P3"
(4)創(chuàng)建零件名為螺絲刀的供應情況的視圖P_ls,包括供應商名(Sname),零件名(Pname),零件重量(Weight),工程項目代碼(Jno),供應數(shù)量(QTY).
CreateviewP_ls(Sname,Pname,weight,Jno,QTY)as
SelectSname,Pname,weight,Jno,QTYFrom供應商表S,零件表P,供應情況表SPJWherePname="螺絲刀"
and供應商表S.Sno=供應情況表SPJ.Snoand零件表P.Pno=供應情況表SPJ.Pno
(5)在視圖P_ls中查詢供應數(shù)量為500的供應商姓名。SelectSname
FromP_lsWhereQTY=500GroupbySname
7.在實習一創(chuàng)建的“學生選課管理”數(shù)據(jù)庫中使用SQL語句完成以下操作
(1)學生孫天要退學,請刪除該學生的所有記錄。Delete
From[學生選課表(SC)]Where[學生選課表(SC)].Sno=(SelectSnoFrom[學生表(S)]WhereSname="孫天")Delete
From[學生表(S)]WhereSname="孫天"
(2)將學號為09105103學生的所有課程成績加10分。Update[學生選課表(SC)]SetGrade=Grade+10WhereSno="9105103"
(3)學校開了一門新課,課稱號為056課程名為信息系統(tǒng)分析,請將此門課程的信息插入。Insert
Into[課程表(C)](Cno,Cname)Values("056","信息系統(tǒng)分析")
(4)創(chuàng)建查詢每個學生的修課學分的視圖,要求列出學生學號及總學分。
CreateviewCri_Student(學號,姓名,總學分)as
Select[學生表(S)].Sno,[學生表(S)].Sname,SUM(Credit)
From[學生表(S)],[學生選課表(SC)],[課程表(C)]Where[學生表(S)].Sno=[學生選課表(SC)].Snoand[學生選課表(SC)].Cno=[課程表(C)].CnoGroupby[學生表(S)].Sno,[學生表(S)].Sname(5)在創(chuàng)建的視圖中查詢學生李麗所修的學分數(shù)。Select姓名,總學分FromCri_StudentWhere姓名="李麗"實驗總結(jié):
三次實習分別學習了數(shù)據(jù)的查詢,數(shù)據(jù)庫的更新,和視圖的相關(guān)操作,了解了數(shù)據(jù)庫的更深入的部分知識,獲益匪淺,是我對數(shù)據(jù)庫的功能和使用方法有了更多的了解。我會繼續(xù)努力學好數(shù)據(jù)庫。
友情提示:本文中關(guān)于《SQL實訓報告》給出的范例僅供您參考拓展思維使用,SQL實訓報告:該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡整理 免責聲明:本文僅限學習分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。