SQL语言实验

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

武汉工程大学计算机科学与工程学院《数据库系统原理》实验报告专业班级信息技术03班实验地点J411学生学号0905060322指导教师丁杰敏学生姓名张东梅实验时间周五实验项目SQL语句的使用实验类别操作性()验证性()设计性(√)综合性()其它()实验目的及要求1.掌握SELECT语句的基本语法。2.掌握子查询的表示。3.掌握连接查询的表示。4.掌握数据汇总的方法。5.掌握SELECT语句的GROUPBY子句的作用和使用方法。6.掌握SELECT语句的ORDERBY子句的作用和使用方法。7.掌握视图的概念及创建方法。8.掌握安全性控制策略的实施方法。成绩评定表类别评分标准分值得分合计上机表现积极出勤、遵守纪律主动完成实验设计任务30分程序代码比较规范、基本正确功能达到实验要求30分实验报告及时递交、填写规范内容完整、体现收获40分评阅教师:日期:年月日计算机科学与工程学院《数据库系统原理》实验报告2实验内容一、对实验一的JXGL数据库,完成下列各查询语句。1.查询‘计算机’系的所有学生的信息。select*fromSTUDENTwhereSdept='CS'2.查询所有姓‘李’的学生的详细信息。select*fromSTUDENTwhereSnameLIKE'李%'3.查询所有年龄在19到25之间的学生的详细信息。并按年龄由低到高的顺序排列。select*fromSTUDENTwhereSagebetween19and25orderBYSageASC4.查询选修了课程的学生的学号及姓名。selectDISTINCTSTUDENT.Sno,SnamefromSTUDENT,SCwhereSC.Sno=STUDENT.Sno5.查询所有选修‘现代数据库技术’这门课程的学生成绩信息,显示学号、姓名、成绩,并按成绩的高低顺序排列。SELECTSTUDENT.Sno,Sname,SC.GradefromSTUDENT,SC,COURSEwhereSTUDENT.Sno=SC.SnoANDSC.Cno=COURSE.CnoANDCOURSE.Cname='数据库'6.按系统计男、女生人数。selectcount(DISTINCTSno)as'人数',Sdept,SsexfromSTUDENTGROUPBYSsex,Sdept7.查询每门课程的最高分、最低分及平均分。SELECTCOURSE.Cname,MIN(Grade),MAX(Grade),AVG(Grade)fromSC,COURSEwhereSC.Cno=COURSE.CnoGROUPBYCOURSE.Cname8.查询选修了三门以上课程的学生的学号、姓名及课程门数。SELECTSTUDENT.Sno,Sname,count(*)as'人数'FROMSC,STUDENTWHERESC.Sno=STUDENT.Sno计算机科学与工程学院《数据库系统原理》实验报告3groupbySTUDENT.Sno,Snamehavingcount(*)=3一、对实验一的JXGL数据库,完成下列各查询语句。9.查询‘计算机’系的所有学生的信息。select*fromSTUDENTwhereSdept='CS'10.查询所有姓‘李’的学生的详细信息。select*fromSTUDENTwhereSnameLIKE'李%'11.查询所有年龄在19到25之间的学生的详细信息。并按年龄由低到高的顺序排列。select*fromSTUDENTwhereSagebetween19and25orderBYSageASC12.查询选修了课程的学生的学号及姓名。selectDISTINCTSTUDENT.Sno,SnamefromSTUDENT,SCwhereSC.Sno=STUDENT.Sno13.查询所有选修‘现代数据库技术’这门课程的学生成绩信息,显示学号、姓名、成绩,并按成绩的高低顺序排列。SELECTSTUDENT.Sno,Sname,SC.GradefromSTUDENT,SC,COURSEwhereSTUDENT.Sno=SC.SnoANDSC.Cno=COURSE.CnoANDCOURSE.Cname='数据库'14.按系统计男、女生人数。selectcount(DISTINCTSno)as'人数',Sdept,SsexfromSTUDENTGROUPBYSsex,Sdept15.查询每门课程的最高分、最低分及平均分。SELECTCOURSE.Cname,MIN(Grade),MAX(Grade),AVG(Grade)fromSC,COURSEwhereSC.Cno=COURSE.CnoGROUPBYCOURSE.Cname16.查询选修了三门以上课程的学生的学号、姓名及课程门数。SELECTSTUDENT.Sno,Sname,count(*)as'人数'FROMSC,STUDENT计算机科学与工程学院《数据库系统原理》实验报告4WHERESC.Sno=STUDENT.SnogroupbySTUDENT.Sno,Snamehavingcount(*)=317.查询既选修了‘现代数据库技术’,又选修‘网络操作系统’这两门课程的学生的详细信息。select*fromSTUDENT,sc,courseWHEREstudent.Snoin(selectSC.snofromSTUDENT,SC,COURSEWHERESTUDENT.SNO=SC.SNOANDSC.CNO=COURSE.CNOANDCNAME='现代数据库技术')ANDSTUDENT.SNO=SC.SNOANDSC.CNO=COURSE.CNOANDCNAME='操作系统'18.查询计算机系选修了所有课程的学生的信息。select*fromstudentwheresdept='cs'andnotexists(select*fromcoursewherenotexists(select*fromscwheresno=student.snoandcno=course.cno))19.查询计算机系没有选修‘现代数据库技术’这门课程的学生信息。SELECT*FROMSTUDENTWHERESdept='CS'ANDSnoNOTIN(SELECTs.SnoFROMSTUDENTs,SC,COURSEcWHEREs.Sno=SC.SnoANDc.Cno=SC.CnoANDc.Cname='现代数据库技术')二、视图的操作1.创建“计算机系”所有学生的视图。并通过视图修改学生的信息。createviewS1AS计算机科学与工程学院《数据库系统原理》实验报告5select*fromstudentwheresdept='cs'UPDATEIS_CSsetSname='张三'WHERESno='200215122'2.创建所有选修“现代数据库技术”这门课程的学生及成绩信息。显示学号、姓名、系别、成绩信息。是否能修改视图中信息。CREATEVIEWS2ASSELECTs.Sno,sname,Sdept,GradeFROMSTUDENTs,SCWHEREs.Sno=SC.Sno三、安全性控制的实施使用JXGL的人员有:学生:李那、黎民、刘敏、王强;任课教师:张行、小叶教务管理人员:汪辉。其中学生只可以查看库中任何一张表的任何内容;教师可以查看任何一张表的内容,还可以修改自己所带学生的成绩(假设张行带1号课程,小叶带2号课程);教务管理人员可以查看任何一张表,对表做任何更新操作。创建各用户,并授予权限。创建用户:计算机科学与工程学院《数据库系统原理》实验报告6学生权限:GRANTSELECTONSTUDENTTo李那,黎民,刘敏,王强GRANTSELECTONCOURSETo李那,黎民,刘敏,王强GRANT计算机科学与工程学院《数据库系统原理》实验报告7SELECTONSCTo李那,黎民,刘敏,王强教师权限:GRANTSELECTONSTUDENTTO小叶,张行CREATEVIEWSC_1ASSELECT*FROMSCWHERECno=1GRANTSELECT,UPDATE,INSERT,DELETEONSC_1To小叶CREATEVIEWSC_1ASSELECT*FROMSCWHERECno=1GRANTSELECT,UPDATE,INSERT,DELETEONSC_2ToCREATEVIEWSC_1ASSELECT*FROMSCWHERECno=2GRANTSELECT,UPDATE,INSERT,DELETEONSC_2To张行管理员权限:GRANTSELECT,UPDATE,INSERT,DELETEONSTUDENTTo汪辉GRANTSELECT,UPDATE,INSERT,DELETEONCOURSE计算机科学与工程学院《数据库系统原理》实验报告8To汪辉GRANTSELECT,UPDATE,INSERT,DELETEONSCTo汪辉计算机科学与工程学院《数据库系统原理》实验报告9实验总结由于实验课时间有限自己的电脑不会安装软件,所以我没有截图直接写的各种要求。大概的都是可以实现的。通过这次的实验,巩固了SELECT语句的用法,还掌握了各种情况下的查询模式。例如:子查询、连接查询、数据汇总、SELECT语句的GROUPBY子句、ORDERBY子句的查询。本次实验(一)的内容,让我很好的掌握了各种情况下的SELECT的查询。同时让我对SELECT的运用了解的更加深刻。本次实验还有视图和安全性控制的部分。视图的引入,让数据库的查询操作更加的简便,是一个很好的工具。对于数据库的权限设定,让数据库的安全性有了保证。这次实验之后对于数据库SQL语言的运用方法和使用的熟练度有了很大的提高。相信在今后有此类似的问题,都可以独立的来完成。

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功