SQL数据库原稿.docx
- 文档编号:2460547
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:26
- 大小:579.86KB
SQL数据库原稿.docx
《SQL数据库原稿.docx》由会员分享,可在线阅读,更多相关《SQL数据库原稿.docx(26页珍藏版)》请在冰豆网上搜索。
SQL数据库原稿
《SQLServer2000数据库与应用》
一、实习时间:
2011年11月14——2011年12月2号
二、实习地点:
实训大楼机房
三、实习目的:
1、通过实习,使学生们加深对所学课程内容的认识、理解、掌握,达到对所学知识、技能系统化、条理化的目的,巩固、提高学习效果。
2、通过综合应用实习,熟练掌握SQLSrver的各项操作并能够根据所学技能学以致用,解决实际问题,提高操作应用熟练程度。
3、能够在教师的指导下依据实习资料对应用数据库管理系统进行操作、管理与维护。
四、实习内容及方法:
实训一安装SQLServer2000
下面一组图是SQLServer2000的安装和配置的主要步骤
出现如图【软件许可协议】对话框,选【是】即可。
出现如图所示的对话框。
出现如图所示的对话框,可以默认单击【下一步】按钮继续,如果【默认】复选框不可用,则表示已安装了默认实例,只能安装命名实例。
如图所示,在【安装完成】对话框中单击【完成】,SQLServer安装完成。
实训二 创建“学生成绩”数据库
1、首先利用企业管理器创建一个名为“学生成绩”的数据库,步骤如下:
(1)打开企业管理器,对数据库点右键,弹出新建
USEXSCJ
GO
SELECT课程编号,课程名称,任课教师,上课时间FROM课程信息表
GO
查询结果
2、查找杜晓静同学的选修课密码是什么。
USEXK
GO
SELECTPwdFROMStudent
WHEREStuName='杜晓静'
查询结果
3、查询2学分的’Linux操作系统’课程的上课时间。
USEXK
GO
SELECTCredit,CouName,SchoolTimeFROMCourse
WHERECredit='2.'andCouName='Linux操作系统'
GO
查询结果
4、检索课程号为’004’、‘007’、‘013’的课程号和课程名称。
USEXSCJ
GO
SELECT课程编号,课程名称FROM课程信息表
WHERE课程编号IN('004','007','013')
GO
查询结果
5、查询student表中有多少同学。
USEXK
GO
SELECTCOUNT(StuNo)AS'学生人数'FROMstudent
GO
查询结果
6、查询course表的所有信息,并要求显示报名人数占限选人数的百分比。
USEXK
GO
SELECT*FROMcourse
GO
查询结果
7、在课程表中查询课程名字中含有S、L、J、A字母的课程信息。
USEXK
GO
SELECT*FROMcourse
WHERECouNameLIKE'S%'ORCouNameLIKE'L%'ORCouNameLIKE'G%'ORCouNameLIKE'A%'
GO
查询结果
8、查询课程表中未输入任课教师的课程信息。
select*from课程信息表
where任课教师isnull
9、使用computeby和groupby显示每名同学的选课情况,并显示每个同学报几门选修课程。
USEXK
GO
SELECT*FROMStuCou
ORDERBYStuNo
COMPUTECOUNT(CouNo)BYStuNo
GO
查询结果
10、在stucou表中显示学号、课程号、志愿号,并统计每个学生所报的选修课程数。
USEXK
GO
SELECTStuNo,CouNo,RandomNum,WillOrderFROMStuCou
GO
查询结果
11、检索平均报名人数大于25人的课程类和每类平均报名人数。
USEXK
GO
SELECTCouNameFROMCourse
WHEREWillNum>25
GO
查询结果
12、查询01数据库班级的同学信息。
USEXK
GO
SELECTStuNo,Student.ClassNo,StuName,Pwd,ClassNameFROMClass,Student
WHEREClass.ClassNo=Student.ClassNoandDepartNo='01'
GO
查询结果
13、查询学号在00000001到00000010之间的学生选课信息,包含学号、所选课程号、所选课程名称,学分。
USEXK
GO
SELECTStuNo,CouNo,CouName,CreditFROMCourse,Student
WHEREStuNoBETWEEN00000001AND00000010
GO
查询结果
14、向class表中输入一行数据:
“20040001”,“01”,“04数据库”
USEXK
GO
INSERTINTOClass
VALUES('20040001','01','04数据库')
GO
查询结果
15、把course表中报名人数超过平均报名人数的‘人文’类课程的课程号、课程名称、课程类别、报名人数生成一个新表itcourse。
USEXK
GO
SELECTCouNo,CouName,Kind,WillNumINTOItcourseFROMCourse
WHEREWillNum>(SELECTWillNumFROMCourseWHEREKind='人文')
GO
查询结果
16.把’管理’类课程的课程号、课程名称、课程类别数据插入到表itcourse。
USExk
GO
SELECTCouNo,CouName,KindINTOitcourseFROMCourse
GO
查询结果
17.学号为’00000002’的同学取消了’中餐菜肴制作’课程的选修,请在表StuCou中把他的选课信息删除。
USExk
GO
DELETEFROMStuCou
WHEREStuNo='00000002'
GO
查询结果
学号为“00000003”同学希望将已报名的‘水资源利用管理与保护’课程修改为’世界旅游’。
USExk
GO
Updatestucou
SetStuNo='00000003'
WhereCouNo='003'
GO
查询结果
18.已知关系模式:
S(SNO,SNAME)学生关系。
SNO为学号,SNAME为姓名C(CNO,CNAME,CTEACHER)课程关系。
CNO为课程号,CNAME为课程名,CTEACHER为任课教师SC(SNO,CNO,SCGRADE)选课关系。
SCGRADE为成绩。
1)找出没有选修过“李明”老师讲授课程的所有学生姓名
2)列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩
3)列出既学过“1”号课程,又学过“2”号课程的所有学生姓名
4)列出“1”号课成绩比“2”号同学该门课成绩高的所有学生的学号
5)列出“1”号课成绩比“2”号课成绩高的所有学生的学号及其“1”号课和“2”号课的成绩
19问题描述:
为管理岗位业务培训信息,建立3个表:
S(S#,SN,SD,SA),S#,SN,SD,SA分别代表学号、学员姓名、所属单位、学员年龄,C(C#,CN),C#,CN分别代表课程编号、课程名称,SC(S#,C#,G),S#,C#,G 分别代表学号、所选修的课程编号、学习成绩
1)查询选修课程名称为’税收基础’的学员学号和姓名
2)查询选修课程编号为’C2’的学员姓名和所属单位
3)查询不选修课程编号为’C5’的学员姓名和所属单位
4)查询选修全部课程的学员姓名和所属单位
5)查询选修了课程的学员人数
6)查询选修课程超过5门的学员学号和所属单位
实训三 使用Transact-SQL语言编程
1.知道一个人的生日,如何计算出天数?
USEXK
GO
SELECTDATEDIFF(d,'1987-3-7',getdate())days
GO
查询结果
2.用函数表示77岁的天数是多少?
USEXK
GO
DECLARE@abigint,@bbigint,@cbigintSET@a=77
BEGINSET@b=@a*365SET@c=@b+@a/4ENDprint@c
GO
查询结果
3.用函数计算出:
1983年12月21日出生的年龄
USEXK
GO
SELECTDATEPART(year,GETDATE())-DATEPART(year,cast('1983-12-21'ASDATETIME))
GO
查询结果
4.查询课程表中课程类别是4个字的课程信息
SELECT*FROMCourseWHERECouNameLIKE'____'
5.查询课程表中课程名称的第3个字是’信’的课程信息。
USEXK
GO
SELECT*FROMCourseWHERECouNameLIKE'__信%'
GO
查询结果
6.利用变量和打印语句显示最大报名人数和最小报名人数。
USEXK
GO
DECLARE@max_bmrsint,@min_bmrsintSELECT@max_bmrs=MAX(Willnum),
@min_bmrs=MIN(Willnum)FROMCoursePRINT@max_bmrsPRINT@min_bmrs
GO
查询结果
7.写出计算10!
的程序
USEXK
GO
DECLARE@intiintDECLARE@sbigintSET@s=1SET@inti=1
WHILE@inti<11BEGINSET@s=@s*@intiSET@inti=@inti+1ENDPRINT@s
GO
查询结果
8.写出计算1+2+3+…+10000的程序
USEXK
GO
DECLARE@sumint,@iintSET@sum=0SET@i=1
WHILE@i<=10000BEGINSET@sum=@sum+@ISET@i=@i+1ENDPRINT@sum
GO
查询结果
9.使用Xk数据库,显示班级编码、班级名称和系部名称,当系部编码为01时,显示系部名称为“计算机应用工程系”;当系部编码为02时,显示系部名称为“建筑工程系”;当系部编码为03时,显示系部名称为“旅游系”),其它则显示‘其他系’。
要求使用两种方法完成。
实训四创建、管理数据库与表
1.创建名为mydb的数据库,它有1个1MB的数据文件,包含mydb_data为主数据文件和mydb_data2文件,文件大小为5MB,FILEGROWTH增量为15%。
数据库还有2个1MB的事务日志文件mydb_log和mydb_log2。
CREATEDATABASEmydbx
ON
PRIMARY(NAME=mydbx_data,FILENAME='D:
\mydbx_data.mdf',SIZE=1MB),
(NAME=mydbx_data2,FIL
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 数据库 原稿