首页 > 数据库 >MySQL库表操作练习

MySQL库表操作练习

时间:2024-07-09 22:27:00浏览次数:13  
标签:grade 练习 查询 库表 math 表中 MySQL WHERE SELECT

库表信息

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
);

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、查询所有字段

SELECT * FROM grade;

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

SELECT id, firstname, lastname FROM grade;

3、查询grade表中id大于4的学生姓名

SELECT firstname, lastname FROM grade WHERE id > 4;

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 DISTINCT sex FROM grade;

15、查询grade表中的lastname有哪几种

SELECT DISTINCT lastname FROM grade;

16、求出表中所有记录的条数

SELECT COUNT(*) FROM grade;

17、求出表中英语成绩的80的记录的条数

SELECT COUNT(*) FROM grade WHERE english = 80;

18、计算所有学生的数学成绩的和

SELECT SUM(math) FROM grade;

19、计算女生的数学成绩的和

SELECT SUM(math) FROM grade WHERE sex = 'f';

20、计算英语成绩平均分

SELECT AVG(english) FROM grade;

21、计算男生的英语成绩平均分

SELECT AVG(english) FROM grade WHERE sex = 'm';

22、求出数学成绩的最高分

SELECT MAX(math) FROM grade;

23、求出男生中的数学最高分

SELECT MAX(math) FROM grade WHERE sex = 'm';

24、按照math成绩的升序进行排列

SELECT * FROM grade ORDER BY math ASC;

25、按照sex字段的升序和chinese字段的降序排列

SELECT * FROM grade ORDER BY sex ASC, chinese DESC;

26、查询数据表grade中的记录,按照sex字段进行分组

SELECT sex, COUNT(*) FROM grade GROUP BY sex;

27、将grade表按照lastname字段值分组,并计算每个分组中的学生数

SELECT lastname, COUNT(*) FROM grade GROUP BY lastname;

28、对grade表按照lastname字段分组,查出math字段和小于100的组

SELECT lastname, SUM(math) AS total_math FROM grade GROUP BY lastname HAVING total_math < 100;

29、查询grade表中的第3到第6条记录

SELECT * FROM grade LIMIT 2, 4;

30、查询grade表中男生平均成绩(三科)大于85的记录

SELECT *, (english + math + chinese) / 3 AS avg_grade FROM grade 
WHERE sex = 'm' HAVING avg_grade > 85;

标签:grade,练习,查询,库表,math,表中,MySQL,WHERE,SELECT
From: https://blog.csdn.net/weixin_73943382/article/details/140307175

相关文章

  • mysql5.7 干净卸载-配置安装-远程访问-数据无损移植
    mysql5.7干净卸载-配置安装-数据无损移植 一:干净卸载步骤一:关闭MySQL服务在卸载MySQL之前,确保MySQL服务已停止。可以通过以下步骤停止MySQL服务:打开命令提示符(CMD)。运行以下命令:netstopmysql步骤二:卸载MySQL程序在卸载MySQL之前,需要先卸载MySQL程序。可以通过以下步骤......
  • JDBC连接MySql教程
    一.JDBC的概念JDBC全称JavaDatabaseConnectivity,是给Java开发的人员提供的一套进行数据库操作的工具,它提供了一种标准化的方式来连接到不同数据库的驱动程序,并且可以保证安全、跨平台和高效的数据访问。二.JDBC连接MySql的步骤(一)驱动准备在连接之前必要的就是对应版本......
  • [CSAWQual 2019]Web_Unagi XXE漏洞练习题
    题目地址:BUUCTF在线评测这道题就是简单的xxe漏洞的注入。进来之后我们进行一个信息收集,在upload下可以看到有个here的超链接。点进去之后得到了如下的一些信息。可以猜到是需要我们利用文件上传包含xxe漏洞利用来得到flag。<?xmlversion='1.0'?><!DOCTYPEusers[<!ENT......
  • 练习10.7_加法计算器_Python编程:从入门到实践(第3版)
    将为练习10.6编写的代码放在一个while循环中,让用户在犯错(输入的是文本而不是数)后能够继续输入数。#10.6try:expectwhileTrue:num1=input("请输入一个整数:")try:num1_int=int(num1)breakexceptValueError:print("......
  • jvm+mysql索引优化+sql优化
    一、jvm---线程栈  每个线程都会从内存栈分配一块区域,这个区域里放了此线程变量(按方法,一个方法对应一块栈帧内存区域)。Math.class字节码文件不是给人看的,idea中找到Math类,右键找到terminal,输入javap,底下-c对代码进行反汇编命令:javap-cMath.class>math.txt此时,Math类根......
  • 面试官:MySQL死锁是什么,如何解决?
    MySQL死锁概述定义:多个操作相互等待对方释放资源,导致无法继续执行的情况。场景:通常发生在多个事务同时试图锁定对方已锁定的资源时。MySQL锁的分类粒度分类:表级锁:锁定整个表,简单但并发能力低。行级锁:锁定特定行,开销大,可能死锁,但并发度高。页级锁:锁定数据库页,介于表级和......
  • MySQL 源码|LEX 结构体
    LEX结构体源码位置:(版本=MySQL8.0.37)sql/sql_lex.hsql/sql_lex.ccsql/sql_class.ccrouter/src/routing/src/sql_lexer.ccLEX对象当前有以下功能:包含了一些SQL命令的通用属性,例如:sql_command,数据变更语句语法中是否存在IGNORE,以及表列表query_tables包含了一些......
  • Mysql更新数据库密码
    首先登录数据库mysql-uroot-p1234qwer查找数据库用户表所有用户信息SELECT`Host`,`User`,authentication_string,password_last_changedFROMmysql.`user`;更新密码UPDATEmysql.`user`SETauthentication_string=PASSWORD('1234qwert')WHEREuser='root'AND......
  • MYSQL——mysql检索不包含字母U的数据
    2024/07/091.NOTLIKE2.ISNOT、<>、!=3.NOTIN如题,正确答案如下:SELECT*FROMyour_table_nameWHEREyour_column_nameNOTLIKE'%U%';今天写类似检索语句时,脑子突然一懵,写成了ISNOT'%UD%',如下:SELECT*FROMyour_table_nameWHEREyour_column_nameISNOT......
  • Mysql主从复制
    一、主从复制原理主从复制的相关程序:日志二进制日志中继日志(relaylog)线程主服务器:mysqldump线程(传输二进制日志给从服务器)从服务器:IO线程(接收二进制日志,写入中继日志),sql线程(读取中继日志,写入数据库,同步操作达到数据同步)点击查看代码主从复制原理:1.主节点负责......