ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:17.92KB ,
资源ID:1589868      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1589868.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SQL实验三数据的更新操作和视图实验报告.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

SQL实验三数据的更新操作和视图实验报告.docx

1、SQL实验三数据的更新操作和视图实验报告 集团标准化工作小组 Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMNSQL实验三数据的更新操作和视图实验报告实验三 数据的更新操作和视图 本实验需要2学时。一、实验目的 1、掌握视图的创建、修改和删除操作。2、掌握数据库数据更新(增加、修改、删除)操作。二、实验内容和步骤1、视图(1)建立名为UV_SC的视图。该视图可以让我们看到每个学生的姓名、选修课程名和成绩。(2)利用UV_SC视图,查看平均成绩在80分以上的学生姓名。(3)建立名为UV_Course的视图,该视图显示每门课的课程名和选修该课程的学生人数。(4)修改视图UV_Course

2、,在视图中增加一列,显示选修该课程所有学生的平均成绩。(5)建立名为UV_IS_Depart的视图。该视图可以用来查看“信息系”的学生的学号、姓名、年龄和系名。并保证对该视图的修改满足系名为信息系的条件。(6)建立名为UV_Student的加密视图。该视图可以用来查看每个学生选修的课程门数和平均成绩。(7)利用UV_Student视图,查询平均成绩在80分以上的学生学号。(8)能否利用视图UV_Student,修改某个学生的平均成绩(9)删除视图UV_Student。 2、数据更新 (1)向STUDENT表增加如下记录:SnoSnameSsexSageSaddressSdept95011王一鸣

3、男20福州市计算机系(2)将学号95011,成绩80,以及课程表中的所有课程号插入到SC表中。(3)建立与表STUDENT同结构的空表STUD。然后利用INSERT命令把表STUDENT中年龄大于19的学生记录添加到表STUD。(注意:可以使用select into语句实现同结构空表的创建,再使用insert命令插入记录;或者使用单条select into语句实现等同的功能)(4)为“95002”的学生增加选修“操作系统”和“数据结构”这两门课的选课记录。(5)把课程名为“操作系统”的成绩从成绩表SC中删除。(试用三种方式完成) (6)将女生的成绩提高10%。(试用三种方式完成)(7)如果学生

4、“张三”的数据结构的成绩低于65,则加上10分。(8)将成绩最低的学生的成绩加上10分。(9)将前3名成绩最高的学生的成绩减去10分。(10)为没有选课的学生自动增加选修“01”课程的选课记录。(11)把选修“数学”不及格的成绩全部改成空值。(12)删除成绩低于总平均成绩的女生的选课记录。三、实验环境四、调试过程五、实验结果六、总结 通过此次实验:1.我知道了视图不是一张真实的表格,是一个虚拟的存在形式。2.掌握了对视图的创建(create or replace):当视图不存在时可使用create进行创建;而如果不确定视图是否已存在,但此时又需要建立一张此名称的视图时,可使用replace创建

5、,如果视图名已存在也不会出现冲突,而是进行替换。3.在创建视图时如果使用了with check option表示在视图上执行UPDATE INSERT或DELETE操作时,要保证所修改的行满足视图定义中的谓词条件,即SELECT查询子句中的限定条件:如Where条件,这样可以确保数据修改后 仍可通过视图看到修改的数据。4.分清楚了对视图结构的修改(alter)、对视图数据的修改(update)。同时对视图上的计算列、内置函数列和行集合函数列不能修改。5.知道了对视图数据的删除操作(delete)。6.通过第二题的训练也使我对数据库数据的更新语句有了更多的体会和认识。7.第二题第五小题,要求三种

6、方法,只写出了两种,第三种有点没辙。而其他题目有的没要求,因为在思考过程有别的思路,也有多写了相关方法。附录: -1、视图-(1)建立名为UV_SC的视图。该视图可以让我们看到每个学生的姓名、选修课程名和成绩。create view UV_SCasselect sname,cname,gradefrom student s,course c,scwhere = and =select * from UV_SC-(2)利用UV_SC视图,查看平均成绩在分以上的学生姓名。select snamefrom UV_SCgroup by snamehaving avg(grade)80-(3)建立名为U

7、V_Course的视图,该视图显示每门课的课程名和选修该课程的学生人数。create view UV_Courseasselect cname,count(*) as选修人数from course c,scwhere =group by cnameselect * from UV_Course-(4)修改视图UV_Course,在视图中增加一列,显示选修该课程所有学生的平均成绩。alter view UV_Courseasselect cname,count(*) as 选修人数,avg(grade) as 平均成绩from course c,scwhere =group by cnamese

8、lect * from UV_Course-(5)建立名为UV_IS_Depart的视图。该视图可以用来查看“信息系”的学生的学号、姓名、年龄和系名。并保证对该视图的修改满足系名为信息系的条件。create view UV_IS_Departasselect sno,sname,sage,sdeptfrom student swhere sdept=信息系with check optionselect * from UV_IS_Depart-(6)建立名为UV_Student的加密视图。该视图可以用来查看每个学生选修的课程门数和平均成绩。create view UV_Student(sno,c

9、ourse_no,avg_grade)with encryptionasselect sno,count(*),avg(grade)from scgroup by snoselect * from UV_Student-(7)利用UV_Student视图,查询平均成绩在分以上的学生学号。select snofrom UV_Studentwhere avg_grade=80-(8)能否利用视图UV_Student,修改某个学生的平均成绩update UV_Studentset avg_grade=70where sno=95001-(9)删除视图UV_Student。drop view UV_S

10、tudent-2、数据更新-(1)向STUDENT表增加如下记录:-Sno Sname Ssex Sage Saddress Sdept-95011 王一鸣 男 20 福州市 计算机系insert into student(sno,sname,ssex,sage,saddress,sdept)values(95011,王一鸣,男,20,福州市,计算机系)alter table studentadd saddress varchar(50) null-修改表结构,增加saddress列select *from studentwhere sno=95011-(2)将学号,成绩,以及课程表中的所有课

11、程号插入到SC表中。insert into sc(sno,cno,grade)select 95011,cno,80from courseselect * from sc-(3)建立与表STUDENT同结构的空表STUD。然后利用INSERT命令把表STUDENT中年龄大于的学生记录添加到表STUD。(注意:可以使用select into语句实现同结构空表的创建,再使用insert命令插入记录;或者使用单条select into语句实现等同的功能)-法一select * into STUDfrom studentwhere sage19-法二select * into STUDfrom stu

12、dentwhere 1=0insert into STUD(sno,sname,sage,ssex,sdept,saddress)select sno,sname,sage,ssex,sdept,saddress from studentwhere sage19select * from STUD-(4)为“”的学生增加选修“操作系统”和“数据结构”这两门课的选课记录。insert into sc(sno,cno,grade)select 95002,cno,null from coursewhere cname=操作系统 or cname=数据结构select * from sc-(5)把课

13、程名为“操作系统”的成绩从成绩表SC中删除。(试用三种方式完成)-法一delete from sc where cno in( select cno from course where cname=操作系统 )-法二delete from sc where exists( select cno from course c where cname=操作系统 and =)-法三-(6)将女生的成绩提高%。(试用三种方式完成)-法一update scset grade=grade*where sno in( select sno from student where ssex=女)-法二update

14、 scset grade=grade*where exists( select sno from student s where ssex=女 and =)-法三update scset grade=grade*where( select count(*) from student s where = and ssex=女)=(select count(*) from course where cno=-(7)如果学生“张三”的数据结构的成绩低于,则加上分。update scset grade=grade+10where exists( select sno from student s where = and sname=张三 and cno in ( select cno from course where cname=数据结构 )-查看结果select sname,cname,gradefrom student s,course c,scwhere = and = and sname=张三 and cname=数据结构-(8)将成绩最低的学生的成绩加上分。update scset grade=grade+10where grade in( select min(grade) f

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1