收藏 分销(赏)

天津理工大学数据库实验复杂SQL数据操作.doc

上传人:仙人****88 文档编号:9345766 上传时间:2025-03-23 格式:DOC 页数:12 大小:389KB
下载 相关 举报
天津理工大学数据库实验复杂SQL数据操作.doc_第1页
第1页 / 共12页
天津理工大学数据库实验复杂SQL数据操作.doc_第2页
第2页 / 共12页
点击查看更多>>
资源描述
实验报告 学院(系)名称:计算机与通信工程学院 姓名 xx 学号 x 专业 信息安全 班级 2班 实验名称 复杂SQL数据操作 课程名称 数据库系统 课程代码 0668026 实验时间 2014.10.22 10:00-11:30 实验地点 7-219 批改意见 成绩 教师签字: 1. 实验目的 1) 熟悉各数据库的交互式SQL工具; 2) 熟悉通过SQL语言对数据库进行操作 3) 熟悉通过SQL语言对数据进行控制(授权和权力回收) 2. 实验环境 MS SQL server 3. 实验要求 (1) 将学习了数据库课程的学生成绩加5分。 (2) 将计算机系学习了2号课程的学生成绩置0。 (3) 将李勇的数据库成绩改为85。 (4) 将选修了2号课程且成绩为空的选课记录删除。 (5) 从课程表中删除在选课表中没有选课记录的课程记录。 (6) 删除计算机系学生选修了数据库课程的选课记录。 (7) 求各系的系名及男女生人数并将结果保存到另一个表中。 (8) 将平均成绩80分以上的学生的学号,选学的课程数和平均成绩保存到另一个表中。 (9) 创建一个视图,查询没有选修课程的学生学号、姓名和所在系,并利用该视图查询所有没有选修课程的学生信息。 (10) 创建一个给出学生的姓名、课程名和成绩的视图,并利用该视图查询某个学生学习的课程名和成绩。 11)创建一个视图,求各门课程的课程号、选课人数、平均分、最高分,并利用该视图查询1号课程的选课人数、平均分、最高分。 (12) 创建一个视图,求选修了2号课程且成绩高于该门课程平均分的学生学号和成绩。 (13)创建用户user1,将学生表的select权限赋给用户user1,然后以user1登录,检查权限情况。 (14)收回用户user1的对学生表的select权限,然后以user1登录,检查权限情况。 4. 实验过程记录(源程序、测试用例、测试结果及心得体会等) (1) 将学习了数据库课程的学生成绩加5分。 update sc set grade=grade+5 where cno=( select cno from course where cname='数据库'); select *from sc (2) 将计算机系学习了2号课程的学生成绩置0。 update sc set grade=0 where '2' =(select Cno from student where sdept='CS' AND Student.Sno = SC.Sno); select *from sc (3) 将李勇的数据库成绩改为85。 update sc set grade=85 where sno=(select sno from student where sname='李勇') and cno=(select cno from course where cname='数据库'); select *from sc (4) 将选修了2号课程且成绩为空的选课记录删除。 delete from sc where cno=2 and grade=NULL; select * from sc (5) 从课程表中删除在选课表中没有选课记录的课程记录。 delete from course where not exists (select *from sc where o=o) select *from course (6) 删除计算机系学生选修了数据库课程的选课记录。 delete from sc where cno=( select cno from course where cname='数据库')and sno in(select sno from student where sdept='CS') select * from SC (7) 求各系的系名及男女生人数并将结果保存到另一个表中。 create table s1(sdept char (20),ssex char(2),c1 int) insert into s1 select sdept, ssex,count(ssex) from student group by sdept,ssex; select * from s1 (8) 将平均成绩80分以上的学生的学号,选学的课程数和平均成绩保存到另一个表中。 create table s2(sno int Not Null,c int, avgage int); insert into s2 select sno,count(cno),avg(grade)from sc group by sno having avg(grade)>80 select * from s2 (9) 创建一个视图,查询没有选修课程的学生学号、姓名和所在系,并利用该视图查询所有没有选修课程的学生信息。 create view No_sc_student as select sno,sname,ssex,sage,sdept from student where sno not in(select distinct Sno from SC ) select * from No_sc_student (10) 创建一个给出学生的姓名、课程名和成绩的视图,并利用该视图查询某个学生学习的课程名和成绩。 create view sname_cname_grade as select sname,cname,grade from Student ,Course ,SC where Student.Sno=SC.Sno and SC.Cno =Course.Cno select * from sname_cname_grade 11)创建一个视图,求各门课程的课程号、选课人数、平均分、最高分,并利用该视图查询1号课程的选课人数、平均分、最高分。 create view CCAM as select cno,COUNT(sno) count1,AVG(grade) avge,MAX(grade) max1 from SC group by Cno select * from ccam select count1,avge,max1 from ccam where cno='1' (12) 创建一个视图,求选修了2号课程且成绩高于该门课程平均分的学生学号和成绩。 create view Cno_2(sno,Grade) as select Sno,Grade from SC where Cno='2' and grade >(select AVG(Grade)from SC where Cno='2' ) select * from Cno_2 (13)创建用户user1,将学生表的select权限赋给用户user1,然后以user1登录,检查权限情况。 create role use1 /*创建角色use1*/ grant select on Student to use1 (14)收回用户user1的对学生表的select权限,然后以user1登录,检查权限情况。 revoke select on student from use1; 第12页 共12页
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服