北京邮电大学国际学院
_11-12_学年第_二_学期实验报告
课程名称:数据库技术与应用
项目名称:基本SOL语句的用法
项目完成人:
姓名:武学超学号:
指导教师:____ ____韩祥斌_____________
日期: 2012 年 3 月 16 日
目录
一、实验目的............................................. 错误!未定义书签。
1. 结合数据库技术与应用教学的基本知识,理解并掌握基本SQL语句的用法。
错误!
未定义书签。
二、实验内容............................................. 错误!未定义书签。
1. 回顾基本SQL语句的语法............................... 错误!未定义书签。
2. 回顾MySQL的基本用法................................. 错误!未定义书签。
3. 初始化数据库,将文件中的内容复制并粘贴到MySQL-Front 的SQL编辑器中,然
后点击“运行”........................................... 错误!未定义书签。
4. 了解实验用例的背景,并进行如下SQL语句的训练:....... 错误!未定义书签。
三、实验环境............................................. 错误!未定义书签。
1. 32位Xp系统下 Mysql 程序(命令行).................. 错误!未定义书签。
四、实验结果............................................. 错误!未定义书签。
1. 问题讨论............................................. 错误!未定义书签。
2. 试验心得............................................. 错误!未定义书签。
一、实验目的
1.结合数据库技术与应用教学的基本知识,理解并掌握基本SQL语句的用法。
二、实验内容
1.回顾基本SQL语句的语法
2.回顾MySQL的基本用法
3.初始化数据库,将文件中的内容复制并粘贴到MySQL-Front 的SQL编辑器中,然后点
击“运行”
4.了解实验用例的背景,并进行如下SQL语句的训练:
1)查询全体学生的信息
2)查询全体学生的姓名和出生年份
3)在选课表中查询有哪些学生选修了课程,并列出学生的学号(不要重复)
4)查询计算机系全体学生的姓名
5)查询考试成绩不及格的学生的学号
6)查询计算机系年龄在20岁以下的学生的姓名
7)查询年龄在20-30岁之间的学生的姓名、所在系和年龄
8)查询年龄不在20-23岁之间的学生的姓名、所在系和年龄
9)查询信息系、数学系和计算机系学生的姓名和性别
10)查询不在信息系、数学系和计算机系的学生的姓名和性别
11)查询姓“张”的学生的信息
12)名字中包含字为“小”或“大”的学生的姓名和学号
13)查询所有不姓“刘”的学生姓名
14)查询学号的最后一位不是2、3、5的学生的信息
15)查询无考试成绩的学生的学号和对应的课程号
16)查询学生信息,要求按年龄从小到大进行排序
17)查询选修了课程“c02”的学生的学号和成绩,按成绩降序排列 desc;
18)统计选修了课程的学生的总人数
19)给出学号为9512101的学生的考试总成绩
20)查询每名学生的选课门数和平均成绩
21)统计每门课程的选课人数,列出课程号和选课人数
22)查询计算机系学生的选课情况,要求列出学生的姓名、所修课程号和成绩查询
与刘晨同在一个系的学生的学号、姓名和系别
23)在SC表中插入新记录(9521105,c01),成绩空缺
24)将“9512101”的学生的年龄改为21
25)删除所有不及格的学生的选课记录
三、实验环境
1.32位Xp系统下 Mysql 程序(命令行)
四、实验结果
查询全体学生的信息
查询全体学生的姓名和出生年份
在选课表中查询有哪些学生选修了课程,并列出学生的学号(不要重复)查询计算机系全体学生的姓名
查询考试成绩不及格的学生的学号
查询计算机系年龄在20岁以下的学生的姓名
查询年龄在20-30岁之间的学生的姓名、所在系和年龄
查询年龄不在20-23岁之间的学生的姓名、所在系和年
查询信息系、数学系和计算机系学生的姓名和性别
查询不在信息系、数学系和计算机系的学生的姓名和性别
查询姓“张”的学生的信息
名字中包含字为“小”或“大”的学生的姓名和学号
查询所有不姓“刘”的学生姓名
查询学号的最后一位不是2、3、5的学生的信息
查询无考试成绩的学生的学号和对应的课程号
查询学生信息,要求按年龄从小到大进行排序
查询选修了课程“c02”的学生的学号和成绩,按成绩降序排列;
统计选修了课程的学生的总人数
给出学号为9512101的学生的考试总成绩
查询每名学生的选课门数和平均成绩
统计每门课程的选课人数,列出课程号和选课人数
查询计算机系学生的选课情况,要求列出学生的姓名、所修课程号和成绩select sname,cno,grade from student,sc where = and =‘计算机系’
查询与刘晨同在一个系的学生的学号、姓名和系别
在SC表中插入新记录(9521105,c01),成绩空缺insert into sc(sno,cno) values(‘9521105’,‘c01’)
将“9512101”的学生的年龄改为21 update student set sage = 21 where sno =’9512101’删除所有不及格的学生的选课记录 delete from sc where grade
五、附录
1.问题讨论
在输出学号为9510121的学生的总成绩时不能直接用 select sno,SUM from sc where sno=‘9510121’,还要在后面加上group by sno 来编组学号,否则不能直接输出sno.
另外在使用insert函数时要注意value后跟的两个数据一定要有单引号,否则会出现插入失败的提示。
2.试验心得
此次Mysql的上机实验,着实加深了我对mysql语句的印象,加深了理解。
同时也发现了许多在学习理论知识时没有注意到的细节。
在对数据的各种排列组合中,我也提高了对数据库的学习兴趣,希望今后学到的数据库只是能够更加实用而有趣。