1、实验ACCESS的SQL视图使用实验 ACCESS的SQL视图使用一、实验目的1学会在SQL视图中创建数据库和表;2使用SQL视图实现各类查询。二、实验内容和步骤1用SQL视图在ACCESS中创建学生信息数据库SCInform,该数据库包含3个表:学生信息表Student、课程信息表Course、选课信息表SC,各表的结构如下:(1)Student表结构字段名称数据类型字段大小说明Sno文本10学号Sname文本20姓名Ssex文本1性别Scollege文本30学院Birthday时间/日期出生日期(2)Course表结构字段名称数据类型字段大小说明Cno文本3课程号Cname文本30课程名C
2、credit数字单精度学分(3)SC表结构字段名称数据类型字段大小说明Sno文本10学号Sno文本3课程号Grade数字单精度成绩实验步骤:(1)创建数据库启动Microsoft Access,在文件菜单选新建项;在新建文件任务窗格选空数据库选项(如下图);将新建的数据库文件名命名为SCInform.mdb(如下图);(2)创建表在数据库窗口对象选查询,单击工具栏新建按钮,在新建查询中选设计视图(见下图),在视图菜单中选SQL视图;在SQL视图输入创建Student表的命令:Create Table Student(Sno Text(10), Sname Text(20), Ssex Text
3、(1), Scollege Text(30), Birthday Datetime);单击工具栏的运行按钮执行SQL语句(如下图),并以查询名Q1保存该SQL查询;在SQL视图输入创建Course表的命令:Create Table Course(Cno Text(3), Cname Text(30),Ccredit Single);运行该SQL语句并以查询名Q2保存该SQL查询;在SQL视图输入创建SC表的命令并运行:Create Table SC(Sno Text(10),Cno Text(3),Grade Single);运行该SQL语句并以查询名Q3保存该SQL查询;在数据库窗口对象选表
4、,检查3个表Stedent、Course和SC创建完成见下图。2在ACCESS中使用Insert Into语句为3个表:学生信息表Student、课程信息表Course、选课信息表SC插入数据记录,各表的记录如下:(1)表Student的记录SnoSnameSsexScollegeBirthday4105000202许加乐女计算机学院1987-2-34105000203李北星男计算机学院1985-2-24105000205李权男外国语学院1985-10-24105000301谭武龙男文法学院1986-3-84105000304吴小丽女文法学院1985-2-84205000175吴利女经管学院1
5、987-7-24205000176黄贤明男经管学院1986-1-34205000177吴冬生男经管学院1987-12-9(2)表Course的记录CnoCnameCcredit001INTERNET技术2.5002大学英语3.5003网络营销学2.0004数据库原理及应用3.0005会计学2.0006高等数学5.0(3)表SC的记录:SnoCnoGrade410500020200240410500020200520410500020300190410500020300255410500030100350420500017500598420500017600450420500017700470实
6、验步骤:(1)Student表中插入记录在SQL视图输入插入记录的命令并运行 Insert Into StudentValues (4105000202,许加乐,女,计算机学院,1987-2-3);类似地输入插入其它7条记录的命令并运行;打开Student表查看表的数据记录如下图(2)分别使用Insert Into语句在Course表和SC表插入记录如下图。3查询“经管学院”学生的学号和姓名。在SQL视图输入查询命令并运行 Select Sno,Sname From Student Where Scollege=经管学院;查询结果如下图所示:4查询学生的学号和成绩,将所有成绩查询结果提高5%,
7、结果分别以“学号”、“成绩”作为列标题。在SQL视图输入查询命令并运行 Select Sno As 学号, 1.05* Grade As 成绩 From SC;查询结果如下图所示:5查询分数在60分至100分之间的学生的学号、课程号和分数在SQL视图输入查询命令并运行 Select Sno, Cno, Grade From SC Where Grade Between 60 And 100;查询结果如下图所示:6查询经管学院、计算机学院的学生的姓名和所在学院。 在SQL视图输入查询命令并运行 Select Sname, Scollege From Student Where Scollege
8、In (经管学院, 计算机学院)查询结果如下图所示:7查询姓“吴”的学生所在的学院和他的姓名在SQL视图输入查询命令并运行 Select Sname, Scollege From Student Where Sname Like 吴*查询结果如下图所示:8查询各位学生的学生号及其选课的门数。在SQL视图输入查询命令并运行 Select Sno,Count(*) As 选课门数 From SC Group By Sno查询结果如下图所示:9查询选修001、002、004或005课程的学号、课程号和分数,查询结果按学号升序排列,学号相同再按分数降序排列。在SQL视图输入查询命令并运行 Select
9、 Sno,Cno, Grade From SC Where Cno In (001 ,002, 004,005) Order By Sno, Grade Desc查询结果如下图所示:10查询“李北星”所选的全部课程号及学号和姓名在SQL视图输入查询命令并运行Select Student.Sno ,Sname ,Cno From Student,SC Where (Student.Sno = SC.Sno) And (Student.Sname=李北星);查询结果如下图所示:11查询每个选课的学生的学号、姓名、课程号、课程名、分数。 在SQL视图输入查询命令并运行 Select Student.
10、Sno, Sname, Course.Cno, Cname, Grade From Student, Course, SC Where Student.Sno = SC.Sno And SC.Cno= Course.Cno查询结果如下图所示:12查询学号“4105000203”的学生所选课程的课程号和相应的学分,要求用嵌套查询实现。在SQL视图输入查询命令并运行Select Cno,Ccredit From Course Where Cno In (Select Cno From SC Where Sno = 4105000203)查询结果如下图所示:13查询比学号“4205000177”的学
11、生所有课程分数高的学生的学号和分数。在SQL视图输入查询命令并运行 Select Sno,Grade From SC Where Sno 4205000177 And Grade All(Select Grade From SC Where Sno =4205000177 )查询结果如下图所示:14合并查询1和查询2。查询1:查询“出生年月”大1986-01-03,“性别”为男性的学号;查询2:查询“课程号”为004并且“分数”大于60的学生学号。在SQL视图输入查询命令并运行 (Select Sno From Student Where Ssex =男And Birthday= #1986-
12、01-03#) Union (Select Sno From SC Where Grade 60 And Cno= 004)查询结果如下图所示:15求各个学生的平均分,并把结果存入一张表中。 (1)创建存放平均分的表结构 Create Table Avggrade (Sno Text(10), Avggrade single);(2)对数据库的SC表按学号分组求平均分,再把学号和平均分插入新表中。 Insert Into Avggrade(Sno,Avggrade) Select Sno, Avg(Grade) From SC Group By Sno;求得学生平均成绩的表如下图所示:16修改Course表中课程名为“会计学”的记录,将课程名改为“会计电算化”, 学分改为2.5。在SQL视图输入查询命令并运行 Update Course Set Cname =会计电算化, Ccredit = 2.5 Where Cname =会计学三、实验时数 4学时四、实验结果提交 本次实验完成后,学生需提交实验报告。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1