数据库第四次实验报告Word格式.docx
- 文档编号:21805826
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:10
- 大小:321.39KB
数据库第四次实验报告Word格式.docx
《数据库第四次实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《数据库第四次实验报告Word格式.docx(10页珍藏版)》请在冰豆网上搜索。
实验课程名称:
数据库实验原理
实验日期:
2014年05月29日
指导教师及职称:
李燕
实验成绩:
开课时间:
第二学年第二学期
甘肃政法学院实验管理中心印制
实验题目
数据更新
小组合作
无
姓名
班级
学号
201281170135
一、实验目的
(1)掌握SQL的常用数据更新操作
(2)熟练应用INSERT,UPDATE,DELETE语句
二.实验环境
WINDOWS7+SQLSERVER2005
三、实验内容与步骤
一、以最便捷的方式在EDUC数据库中新建3张表。
二、利用企业管理器向表中插入记录
三、实验内容:
1.插入学生记录(学号:
95030,姓名:
李莉,年龄:
18)
2.插入选课记录(95030,1)
3.计算机系学生年龄改成20
4.数学系所有学生成绩改成0
5.把低于总平均成绩的女同学成绩提高5分
6.修改2号课程的成绩,若成绩小于75分则提高5%,成绩大于75时提高4%(两个语句实现,注意顺序)
7.删除95030学生信息
8.删除SC表中无成绩的记录
9.删除王敏的选课记录
10.删除不及格的学生选课记录
11.删除信息系所有学生选课记录
12.删除所有未被选修的课程
13.查询每一门课程成绩都大于等于80分的学生学号、姓名和性别,把值送往另一个以及存在的基本表STU(SNO,SNAME,SSEX)中
14.建立一个sdeptgrade表,包含(sdept,avggrade)字段,对每一个系,求学生的成绩,并把结果存入sdeptgrade
四、实验过程与分析
--1.插入学生记录(学号:
insertintoSTUDENT(sno,sname,ssex,sage)
values('
95030'
'
李莉'
女'
18'
);
--2.插入选课记录(95030,1)
insertintoSC(sno,cno)
1'
--3.计算机系学生年龄改成20
UPDATESTUDENTsetsage='
20'
wheresdept='
CS'
;
--4.数学系所有学生成绩改成0
updateSCsetgrade=0where'
MA'
=(selectsdeptfromSTUDENTwhereSTUDENT.sno=SC.sno);
--5.把低于总平均成绩的女同学成绩提高5分
updateSCsetSC.grade=SC.grade+5whereSC.snoin(selectSTUDENT.snofromSTUDENT
whereSTUDENT.ssex='
)andSC.grade<
(selectAVG(SC.grade)fromSC);
--6.修改2号课程的成绩,若成绩小于75分则提高5%,成绩大于75时提高4%(两个语句实现,注意顺序)
updateSCsetgrade=grade*1.05wherecno='
2'
andgrade<
75;
updateSCsetgrade=grade*1.04wherecno='
andgrade>
updateSCsetgrade=(casewhengrade<
75thengrade*(1+0.05)whengrade>
75thengrade*(1+0.04)elsegradeend)
wherecno='
--7.删除95030学生信息
deletefromSTUDENTwheresno='
--8.删除SC表中无成绩的记录
deletefromSCwheregradeisnull;
--9.删除王敏的选课记录
deletefromSCwheresno=(selectsnofromSTUDENTwheresname='
王敏'
--10.删除不及格的学生选课记录
deletefromSCwheresnoin(selectsnofromSCwheregrade<
60);
--11.删除信息系所有学生选课记录
deletefromSCwheresnoin(selectsnofromSTUDENTwheresdept='
IS'
--12.删除所有未被选修的课程
deletefromCOURSEwherecnonotin(selectcnofromSC);
--13.查询每一门课程成绩都大于等于80分的学生学号、姓名和性别,把值送往另一个以及存在的基本表STU(SNO,SNAME,SSEX)中
--insertintoSTU(SNO,SNAME,SSEX)selectsno,sname,ssexfromSTUDENTwheresnoin(selectsnofromSCgroupbysdepthavingmin(grade)>
=80);
selectsno,sname,ssexintoSTUfromSTUDENTwheresnoin(selectsnofromSCgroupbysnohavingmin(grade)>
insertintoSTU(SNO,SNAME,SSEX)selectsno,sname,ssexfromSTUDENT
where80<
=all(selectgradefromSCwheresno=STUDENT.sno);
--14.建立一个sdeptgrade表,包含(sdept,avggrade)字段,对每一个系,求学生的成绩,并把结果存入sdeptgrade
createtablesdeptgrade
(
sdeptchar(10)primarykey,
avggradeint,
)
insertintosdeptgradeselectSTUDENT.sdept,AVG(SC.grade)fromSTUDENTjoin
SCon(STUDENT.sno=SC.sno)groupbySTUDENT.sdept;
五、实验总结
通过实验掌握了insertinto和delete语句的语法,基于单表和多表的插入方法,实验当中遇到很多问题,但通过查阅相关书籍得到了解决,此次试验加深了对数据库理解和简单操作的方法,但存在知识点欠缺和基础不扎实的情况,实验能力也有待于提高。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 第四 实验 报告