欢迎来到天天文库
浏览记录
ID:57321612
大小:451.50 KB
页数:8页
时间:2020-08-11
《实验十五-使用SQL语言(二).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验十五使用SQL语言(二)一、实验目的与要求1.复习创建数据库的方法。2.掌握导入数据表的方法。3.掌握使用SQL语言的方法。二、实验内容1.创建数据库,并导入数据表【任务1】使用MySQL-front软件创建数据库studb,然后导入数据表。步骤:(1)连接MySQL服务器方法:把教师机共享的“实验15数据表”文件夹复制到桌面上,在phpStudy界面的“MySQL管理器”中选择MySQL-front,打开该软件,然后选择localhost,点击“打开”按钮。如下图所示:(2)创建一个数据库studb,并采用简体中文编码格式。方法:在左侧点击“localhos
2、t”,然后单击“新建数据库”按钮,在“新建数据库”的文本框中,输入名称:studb,选择字符集:gbk,字符集校对:gbk_Chinese_ci(即简体中文),然后单击“确定”按钮。如下图所示:当添加数据库studb完毕之后,在左侧列表中会显示该数据库,如下图所示:(3)在数据库“studb”中导入3张数据表student、course和sc。方法:在左侧列表中选择数据库“studb”,右键单击它,选择“输入-SQL文件夹”,然后选择数据表文件student.sql,然后单击“打开”按钮。如下图所示:按照类似的方法,在数据库“studb”中导入其他2张数据表cou
3、rse和sc。导入完毕后,会显示出数据库“studb”中所有的数据表,如下图所示:如果无法显示出数据表,则可以先关闭MySQL-front软件,再重新打开该软件,即可正常显示出所有数据表。这3张表中的字段如下所示:数据表student,用于存放学生信息,有5个字段,具体如下:字段名数据类型长度说明备注snochar8主键(主索引),不允许为空学号snamevarchar10不允许为空姓名ssexchar1不允许为空,默认值:男性别sbirthdate不允许为空,默认值:2000-01-01出生日期sdeptvarchar20不允许为空系名数据表course,用于存
4、放课程信息,有2个字段,具体如下:字段名数据类型长度说明备注courseidchar8主键、不允许为空课程号cnamevarchar20不允许为空课程名数据表sc,用于存放学生考试成绩信息,有3个字段,具体如下:字段名数据类型长度说明备注snochar8主键、不允许为空学号courseidchar8主键、不允许为空课程号gradetinyint3不允许为空、默认值:0成绩2.使用SQL语言【任务2】使用SQL语言,完成数据查询。请同学们记录任务2中各题对应的SQL语句,并保存select查询的结果,填入Word文档“实验15实验报告.doc”中。注意:l一个SQL
5、语句使用分号(;)结尾,否则mysql认为语句没有输入完。lSQL语句关键字和函数名不区分大小写(Linux区分,Windows不区分)。SELECT查询语句的语法:SELECT[DISTINCT
6、ALL]<列名1>[,<列名2>,...]FROM<表名1>[,<表名2>,...][WHERE<条件表达式>][GROUPBY<列名1>[HAVING<条件表达式>][ORDERBY<列名2>[ASC
7、DESC],...]说明:lfrom子句:指定查询数据的表lwhere子句:查询的数据应满足什么条件lgroupby子句:按“列名1”的值进行分组lhaving子句:对
8、分组后的结果进行条件限制lorderby子句:对查询结果结果按“列名2”排序,选项asc升序(默认)或desc降序。步骤:(1)查询选修了课程号为“”的学生的学号sno及考试成绩grade,并将查询结果按“考试成绩”降序排列,成绩相同的按照“学号”升序排列。方法:在左侧选择“studb”,然后单击“SQL编辑器”,删除原来的代码,输入下图所示的代码,然后单击“运行”按钮。如下图所示:(2)查询所有学生的姓名sname和年龄,要求用中文“姓名”和“年龄”显示列名,并按照“年龄”降序排列。方法:与上例类似,请自己完成SQL语句,并记录查询结果。提示:年龄要通过“当前系
9、统日期所在年份-出生日期所在年份”来计算,其中年份函数是year(),系统当前日期函数是curdate(),即当前系统日期所在年份是year(curdate())。在查询语句中常用的集函数:l计数函数:count(列名)计算元素的个数l求和函数:sum(列名)对某一列的值求和,但属性必须是整型l计算平均值:avg(列名)对某一列的值计算平均值l求最大值:max(列名)找出某一列的最大值l求最小值:min(列名)找出某一列的最小值(3)查询每个学生的平均成绩,并用中文“学号”和“平均分”显示列名。方法:单击“SQL编辑器”,输入下图所示的代码,然后单击“运行”按钮。
10、如下图所示
此文档下载收益归作者所有