您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 数据更新实验实验报告
《数据库原理及应用》实验报告课程名称:数据库原理及应用实验项目:实验三数据更新实验计算机号:系别专业:班级学号:学生姓名:2012年5月30日一、实验目的熟悉和掌握数据表中数据的插入、修改、删除操作和命令的使用;加深理解表的定义对数据更新的作用。二、实验内容连接实验一创建的数据库,在表S、C、SC上完成以下更新操作:1、将数据分别插入表S、C、SC;(各插入两条记录)2、将表S、C、SC中的数据分别以.SQL文件或.txt文件的形式保存在磁盘上。3、在表S、C、SC上练习数据的插入、修改、删除操作。(比较在表上定义/未定义主码(PrimaryKey)或外码(ForeignKey)时的情况)4、将表S、C、SC中的数据全部删除,再利用磁盘上备份的数据来恢复数据。5、如果要在表SC中插入某个学生的选课信息(如:学号为“200215121”,课程号为“5”,成绩待定),应如何进行?6、求各系学生的平均成绩,并把结果存入数据库Dept_grade表,Dept_grade创建如下;createtableDept_grade(Sdeptchar(15),Avg_gradesmallint)7、将“CS”系全体学生的成绩置零;8、删除“CS”系全体学生的选课记录;9、删除学号为“0251”的相关信息;10、将学号为“0251”的学生的学号修改为“S0251”;11、把平均成绩大于80分的男同学的学号和平均成绩存入另一个表S_GRADE(SNO,AVG_GRADE);12、把选修了课程名为“数据结构”的学生的各门课成绩提高10%;13、把选修了“2”号课程,且成绩低于该门课程的平均成绩的学生的成绩提高5%;14、把选修了“2”号课程,且成绩低于该门课程的平均成绩的学生成绩删除掉;三、实验环境:操作系统:Windowsxp数据库管理系统:SQLSERVER2008express版四、实验步骤及程序编写:1、将数据分别插入表S、C、SC;(各插入两条记录)insertintosvalues('0257','张一','男',25,'CS'),('0258','张二','男',23,'IS')insertintocvalues('7','web编程基础','3',5),('8','计算机导论','4',3)insertintoscvalues('0257','7',56),('0258','8',96)2、将表S、C、SC中的数据分别以.SQL文件或.txt文件的形式保存在磁盘上。3、在表S、C、SC上练习数据的插入、修改、删除操作。(比较在表上定义/未定义主码(PrimaryKey)或外码(ForeignKey)时的情况)4、将表S、C、SC中的数据全部删除,再利用磁盘上备份的数据来恢复数据。5、如果要在表SC中插入某个学生的选课信息(如:学号为“200215121”,课程号为“5”,成绩待定),应如何进行?insertintosc(sno,cno,grade)values('200215121','5',null)6、求各系学生的平均成绩,并把结果存入数据库Dept_grade表,Dept_grade创建如下;createtableDept_grade(Sdeptchar(15),Avg_gradesmallint)insertintoDept_gradeselectsdept,AVG(grade)fromsc,swheresc.sno=s.snogroupbysdept7、将“CS”系全体学生的成绩置零;updatescsetgrade='0'wheresnoin(selectsnofromswheresdept='cs')8、删除“CS”系全体学生的选课记录;deletefromscwheresnoin(selectsnofromswheresdept='cs')9、删除学号为“0251”的相关信息;deletefromswheresno='0251'10、将学号为“0251”的学生的学号修改为“S0251”;updatessetsno='s0251'wheresno='0251'11、把平均成绩大于分的男同学的学号和平均成绩存入另一个表S_GRADE(SNO,AVG_GRADE);createtableS_GRADE(SNOchar(10),AVG_GRADEfloat)insertintoS_GRADEselectsno,AVG(grade)fromscwheresnoin(selectsnofromswheressex='男')groupbysnohavingAVG(grade)8012、把选修了课程名为“数据结构”的学生的各门课成绩提高%;updatescsetgrade=grade*1.1wheresnoin(selectsnofromsc,cwheresc.cno=c.cnoandcname='数据结构')13、把选修了“2”号课程,且成绩低于该门课程的平均成绩的学生的成绩提高%;updatescsetgrade=grade*1.05wheregrade(selectAVG(grade)fromscwherecno='2'groupbycno)14、把选修了“2”号课程,且成绩低于该门课程的平均成绩的学生成绩删除掉;deletefromscwherecno='2'andgrade(selectAVG(grade)fromscwherecno='2'groupbycno)五、程序调度及实验总结:通过这次实验我掌握了数据表中的数据插入、修改、删除的实用。加深理解了表的定义对数据更新的作用。我学会了嵌套查询和数据更新操作,感觉挺有意思的,对以后的学习有很大的帮助。六、教师评语或成绩:
本文标题:数据更新实验实验报告
链接地址:https://www.777doc.com/doc-8361951 .html