MySQL第四次作业

前提:

创建数据表grade:

CREATE TABLE grade(
    id INT NOT NULL,
    sex CHAR(1),
    firstname VARCHAR(20) NOT NULL,
    lastname VARCHAR(20) NOT NULL,
    english FLOAT,
    math FLOAT,
    chinese FLOAT
);

向数据表grade中插入几条数据:

INSERT INTO grade
VALUES (1,'m','John','Smith',88.0,85.0,82.0),
(2,'f','Adam','Smith',76.0,78.0,90.0),
(3,'m','Allen','William',88.0,92.0,95.0),
(4,'m','George','William',62.0,58.0,72.0),

(5,'f','Alice','Davis',89.0,94.0,98.0),
(6,'m','Kevin','Miller',77.0,88.0,99.0),
(7,'f','Helen','Davis',79.0,83.0,91.0),
(8,'m','Andrew','Johnson',81.0,86.0,88.0);  

要求:

1、查询所有字段
2、查询grade表中的id,firstname,lastname字段
3、查询grade表中id大于4的学生姓名
4、查询grade表中女生的记录
5、查询grade表中id值为2,4,6的学生记录
6、查询grade表中math成绩在85到94之间的记录
7、查询grade表中firstname以A开头的记录
8、查询grade表中firstname以A开头以e结尾的记录
9、查询grade表中firstname包含l的记录
10、查询grade表中firstname以A开头后面有4个字符的记录
11、查询grade表中english在80到90之间的记录
12、查询grade表中math大于90 或者 chinese大于90的记录
13、查询grade表中id不是1、3、5、7的记录
14、查询grade表中的性别有哪些
15、查询grade表中的lastname有哪几种
16、求出表中所有记录的条数
17、求出表中英语成绩的80的记录的条数
18、计算所有学生的数学成绩的和
19、计算女生的数学成绩的和
20、计算英语成绩平均分
21、计算男生的英语成绩平均分

22、求出数学成绩的最高分
23、求出男生中的数学最高分
24、按照math成绩的升序进行排列
25、按照sex字段的升序和chinese字段的降序排列
26、查询数据表grade中的记录,按照sex字段进行分组
27、将grade表按照lastname字段值分组,并计算每个分组中的学生数
28、对grade表按照lastname字段分组,查出math字段和小于100的组
29、查询grade表中的第3到第6条记录
30、查询grade表中男生平均成绩(三科)大于85的记录

 内容:

一、按照要求创建数据表和插入数据一、按照要求创建数据表和插入数据

此处我用的建好的数据库student_information,直接在里面建表grade(也可重新创建一个数据库)

二、按照要求执行命令
1、查询所有字段
select * from grade;    //查询出该表(grade)的所有字段信息

2、查询grade表中的id,firstname,lastname字段
 select id,firstname,lastname from grade;

3、查询grade表中id大于4的学生姓名
select * from grade where id>4;    //‘ * ’即表示查询整个表,where后面加查询条件

 4、查询grade表中女生的记录
select * from grade where sex='f';

 5、查询grade表中id值为2,4,6的学生记录
select * from grade where id in(2,4,6);

 6、查询grade表中math成绩在85到94之间的记录
select * from grade where math between 85 and 94;

7、查询grade表中firstname以A开头的记录 
select * from grade where firstname like 'A%';

8、查询grade表中firstname以A开头以e结尾的记录
select * from grade where firstname like 'A%e';

9、查询grade表中firstname包含l的记录
select * from grade where firstname like '%l%';

10、查询grade表中firstname以A开头后面有4个字符的记录
select * from grade where firstname like 'A____';

11、查询grade表中english在80到90之间的记录
select * from grade where english between 80 and 90;

12、查询grade表中math大于90 或者 chinese大于90的记录
select * from grade where math>90 or chinese>90;

13、查询grade表中id不是1、3、5、7的记录 
select * from grade where id not in(1,3,5,7);

14、查询grade表中的性别有哪些 
select sex from grade group by sex;    //group by 是分组依据

15、查询grade表中的lastname有哪几种
select lastname from grade group by lastname;

 16、求出表中所有记录的条数
select count(*) from grade;    //count 用于计数

17、求出表中英语成绩的80的记录的条数
select count(*) from grade where english = 80;

18、计算所有学生的数学成绩的和 
select sum(math) from grade;    //sum是用于求和

 19、计算女生的数学成绩的和
select sum(math) from grade where sex = 'f';

20、计算英语成绩平均分
select avg(english) from grade;    //avg用于求平均数

 21、计算男生的英语成绩平均分
select avg(english) from grade where sex = 'm';

22、求出数学成绩的最高分 
select max(math) from grade;    //max是求最大值

23、求出男生中的数学最高分 
select max(math) from grade where sex = 'm';

24、按照math成绩的升序进行排列 
select * from grade order by math asc;    //order用于排序,asc为升序

25、按照sex字段的升序和chinese字段的降序排列
select * from grade order by sex asc,chinese desc;    //desc是降序

 26、查询数据表grade中的记录,按照sex字段进行分组
select sex,count(*) from grade group by sex;    // group by 是分组依据

27、将grade表按照lastname字段值分组,并计算每个分组中的学生数
select lastname,count(lastname) from grade group by lastname;

28、对grade表按照lastname字段分组,查出math字段和小于100的组 
select lastname,sum(math) from grade group by lastname having sum(math)<100;

29、查询grade表中的第3到第6条记录 
select * from grade where id between 3 and 6;

 30、查询grade表中男生平均成绩(三科)大于85的记录
select *,(math+chinese+english)/3 as average from grade where sex= 'm' and (math+chinese+english)/3 >85;
//也可不要 ‘as average’同样可以求出

开放大学mysql实验训练4作业是一个提供给学生进行实践的作业,旨在帮助学生通过实际操作加深对MySQL数据库的理解和掌握。 在这个实验训练中,学生将会学习如何创建和操作数据库中的表格。这包括创建表格、定义表格的结构、插入数据、更新数据、删除数据、查询数据等等。在完成这些任务的过程中,学生会学习到如何使用SQL语句进行数据库操作。 通过完成这个作业,学生将会掌握以下几个方面的内容: 1. 数据库的创建与删除:学生将会学习如何使用SQL语句创建和删除数据库。这是学生在进行数据库操作前的第一步。 2. 表格的创建与删除:学生将会学习如何使用SQL语句创建和删除表格。表格是存储数据的基本单位,学生将会学习如何定义表格的结构以及设置表格的属性。 3. 数据的插入与更新:学生将会学习如何使用SQL语句向表格中插入数据以及更新已有的数据。这是学生在真实应用中经常需要进行的操作。 4. 数据的删除与查询:学生将会学习如何使用SQL语句删除表格中的数据以及查询表格中的数据。这是学生在进行数据管理和数据分析时需要掌握的基本技能。 通过完成这个作业,学生将会加深对于MySQL数据库的理解和掌握,并能够独立进行数据库的创建、表格的创建、数据的插入和查询等操作。这将为学生今后从事与数据库相关的工作打下坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值