本科生实验报告
(四)
姓名:
学院:信息工程学院
专业:信息管理与信息系统 班级:信管班
实验课程名称:数据库管理实验 实验日期: 2014 年5 月 29 日 指导教师及职称:李燕 实验成绩:
开课时间:2013-2014 学年 第二 学期
甘肃政法学院实验管理中心印制
实验题目 姓名 数据更新 班级 信管班 小组合作 否 学 号 一、实验目的 (1)掌握SQL的常用数据更新操作 (2)熟练应用INSERT,UPDATE,DELETE语句 二.实验环境 1.装有SQL Server 2005的PC机。 2.WINDOWS 7+SQL SERVER 2005 三、实验内容与步骤 1.以最便捷的方式在EDUC数据库中新建3张表,各表的结构如下所示: STUDENT的结构 列名 sno sname ssex sage sdept 列名 cno cname credit cpno 列名 sno cno grade 数据类型 char char char int char 数据类型 char char int char 数据类型 char char int 宽度 8 2 宽度 8 8 2 10 宽度 2 30 3 SC的结构 空否 N N Y STUDENT的内容 备注 外码 外码 取值在0—100之间 合为主码 空否 N N Y Y Y 空否 N Y Y Y 备注 主码 默认值为“男” 取值“男”或“女” 备注 主码 COURSE的结构 2.利用企业管理器向表中插入记录 COURSE的内容 SC的内容 四、实验过程与分析 1. 插入学生记录(学号:95030,姓名:李莉,年龄:18) insert into student (sno,sname,ssex,sage,sdept)values('95030','',null,18,null) 李莉 2. 插入选课记录(95030,1) insert into sc(sno,cno)values('95030',1) 3. 计算机系学生年龄改成20 update student set sage=20 where sdept='CS' 4. 数学系所有学生成绩改成0 update sc set grade=0 where'MA'= (select sdept from student where student.sno=sc.sno) 5. 把低于总平均成绩的女同学成绩提高5分 update sc set grade=grade+5 where grade< (select avg(grade)from sc)and '女'=(select ssex from student where student.sno=sc.sno) 6. 修改2号课程的成绩,若成绩小于75分则提高5%,成绩大于75时提高4%(两个语句实现,注意顺序) update sc set grade=grade*1.05 where grade<75 and cno='2' update sc set grade=grade*1.04 where grade>75 and cno='2' 7. 删除95030学生信息 delete from student where sno='95030’ 8. 删除SC表中无成绩的记录 delete from sc where grade=null 9. 删除王敏的选课记录 delete from sc where '王敏'= (select sname from student where student.sno=sc.sno) 10. 删除不及格的学生选课记录 delete from sc where grade<60 11. 删除信息系所有学生选课记录 delete from sc where 'IS'= (select sdept from student where student.sno=sc.sno ) 没有了信息系的学生选课记录 12. 删除所有未被选修的课程 delete from course where cno not in (select cno from sc where course.cno=sc.cno ) 13. 查询每一门课程成绩都大于等于80分的学生学号、姓名和性别,把值送往另一个以及存在的基本表STU(SNO,SNAME,SSEX)中 create table stu(sno char (8) primary key,sname char(8),ssex char(2)) insert into stu select sno,sname,ssex from student where sno in(select sno from sc where grade>80) 14. 建立一个sdeptgrade表,包含(sdept,avggrade)字段,对每一个系,求学生的成绩,并把结果存入sdeptgrade create table sdeptgrade(sdept char(10),avggrade int) insert into sdeptgrade select student.sdept,avg(sc.grade) from sc,student group by sdept 五、实验总结 在本次实验中主要学习了数据更新,熟悉了在数据库中的增、删、改等操作。在了解到了插入语句insert的两种方式——插入一个元组,和子查询结果。还有修改数据和删除数据的语句一般格式等。还了解到其实数据更新就是以新数据项或记录、替换数据文件或数据库中与之相对应的旧数据项或记录的过程。通过删除、修改、再插入的操作来实现数据库的更新操作。
因篇幅问题不能全部显示,请点此查看更多更全内容