当前位置: 首页 > news >正文

mySql数据库学习002-表数据查询操作

表数据查询操作

表数据如下:

idnameagegenderclasscreatedAtupdatedAt
1张三20一班2024-04-08 09:15:092024-04-08 09:15:09
2李四19一班2024-04-08 09:15:092024-04-08 09:15:09
3王五21二班2024-04-08 09:15:092024-04-08 09:15:09
4赵六18二班2024-04-08 09:15:092024-04-08 09:15:09
5孙七19三班2024-04-08 09:15:092024-04-08 09:15:09
6周八19三班2024-04-08 09:15:092024-04-08 09:15:09
7张三丰152024-04-08 09:15:092024-04-08 09:15:09
一、基础查询
select id, name from student

查询结果

idname
1张三
2李四
3王五
4赵六
5孙七
6周八
7张三丰

注意

  • 关键词 selectid,name为要查询的字段,使用 * 表示查询所有字段;

二、where条件查询
select * from student where gender = '男'

查询结果

idnameagegenderclasscreatedAtupdatedAt
1张三20一班2024-04-08 09:15:092024-04-08 09:15:09
5孙七19三班2024-04-08 09:15:092024-04-08 09:15:09
6周八19三班2024-04-08 09:15:092024-04-08 09:15:09
7张三丰152024-04-08 09:15:092024-04-08 09:15:09

解释

  • where 后表示查询条件;
  • 另外,where 语句支持 >>=<<==!=andornotbetween ... and ...is nullis not nullinlike
select * from student where gender = '女' and age > 20
select * from student where gender = '女' or age < 19
select * from student where age > 15 and age < 20
select * from student where age between 16 and 19
select * from student where class is null
select * from student where class is not null
select * from student where age in(18,19)
select * from student where name like '李%'
select * from student where name like '%六'
select * from student where name like '%三%'

三、排序
select * from student where gender = '男' order by age desc

查询结果

idnameagegenderclasscreatedAtupdatedAt
1张三20一班2024-04-08 09:15:092024-04-08 09:15:09
5孙七19三班2024-04-08 09:15:092024-04-08 09:15:09
6周八19三班2024-04-08 09:15:092024-04-08 09:15:09
7张三丰152024-04-08 09:15:092024-04-08 09:15:09

解释:

  • order by 为排序的关键词,其中 age 为排序的字段名,desc 表示倒序排列,asc表示正序排列;

四、分页查询
select * from student limit 3 offset 0
select * from student limit 0, 3

查询结果

idnameagegenderclasscreatedAtupdatedAt
1张三20一班2024-04-08 09:15:092024-04-08 09:15:09
2李四19一班2024-04-08 09:15:092024-04-08 09:15:09
3王五21二班2024-04-08 09:15:092024-04-08 09:15:09

解释:

  • limit 表示分页大小,offset 表示偏移量;
  • 在不使用 offset 关键词时,limit 后第一个参数为偏移量,第二个参数为分页大小;
  • 偏移量 通常需要根据前端传值的pageSize, pageNum计算得来;

五、聚合函数
select sum(age) sum_age from student 
select avg(age) avg_age from student
select count(*) stu_count from student
select max(age) max_age from student
select min(age) min_age from student

查询结果

sum_age
131

解释:

  • 聚合函数需要传参,参数可以为 *,或者数据表中的字段;
  • 另外,对于聚合函数的结果,可以设置 别名,如 sum_age 表示查询到数据的年龄和;

六、分组查询
select class, count(class) class_count from student group by class order by class_count desc

查询结果:

classclass_count
三班2
一班2
二班2
Null0

解释:

  • 其中 class 为分组字段,group by 为分组查询关键词,class_count为别名;
  • 在对数据进行分组的时候,select 后面必须是分组字段或者聚合函数;

七、having条件查询
select class, avg(age) avgAge from student group by class having avgAge > 19

查询结果:

classavgAge
一班19.5
二班19.5

解释:

  • class 为分组字段,avg(age) 聚合函数求年龄平均值,group by 分组关键词,having 分组关键词,表示从返回的结果集中筛选平均年龄大于等于19的班级;
  • 注意:最好设置聚合函数结果的别名avgAge

八、Q & A
  1. 什么是结果集?有什么特点?与表有什么区别与联系?
  • 通过查询语句从数据表中查询出来的结果成为结果集;以表的形式呈现;结果集和查询的表不是同一张表,结果集来自数据表;结果集保存在内存中,而数据表保存在硬盘上;
  1. 什么是聚合函数?怎么使用聚合函数?
  • 对表中的数据进行统计和计算,一般结合分组(GROUP BY)来使用,用于统计和计算分组数据
  • COUNT() 计算查询数据的数据总量
  • SUM() 计算查询结果中所有指定字段的和
  • AVG() 计算查询结果中所有指定字段的平均值
  • MAX() 求查询结果中指定字段的最大值
  • MIN() 求查询结果中指定字段的最小值;
  1. having 与 where 的区别是什么?
  • where 是去数据表中查询符合条件的数据,返回结果集;
  • having 是去数据集中查询符合条件的数据,可以对分组之后查询到的结果进行筛选;

相关文章:

mySql数据库学习002-表数据查询操作

表数据查询操作 表数据如下&#xff1a; idnameagegenderclasscreatedAtupdatedAt1张三20男一班2024-04-08 09:15:092024-04-08 09:15:092李四19女一班2024-04-08 09:15:092024-04-08 09:15:093王五21女二班2024-04-08 09:15:092024-04-08 09:15:094赵六18女二班2024-04-08 0…...

【STL】stack与queue的底层原理及其实现

文章目录 stack的介绍库中stack的使用栈的模拟实现queue的介绍库中queue的使用queue的模拟实现 stack的介绍 &#xff08;图片来自知乎&#xff09; 1.stack是一种容器适配器&#xff0c;模拟了栈的数据结构。数据只能从一端进去&#xff0c;另一端出来&#xff08;先进后出&am…...

Ai大模型如何应用到机器视觉系统中

AI大模型在机器视觉系统中的应用可以通过以下几个步骤实现&#xff1a; 1. 数据准备与预处理&#xff1a; - 收集和标注大量高质量的图像数据&#xff0c;这些数据应该覆盖机器视觉系统需要处理的各种场景和对象。 - 对图像数据进行预处理&#xff0c;包括去噪、标准化、增强等…...

IntelliJ IDEA下载及安装教程(Windows操作系统)

一、下载IntelliJ IDEA 1、访问JetBrains官方网站 打开浏览器&#xff0c;输入网址 https://www.jetbrains.com/idea/ 进入IntelliJ IDEA官方主页。 2、选择产品版本 IntelliJ IDEA分为免费的Community Edition&#xff08;社区版&#xff09;和付费的Ultimate Edition&…...

01 Python进阶:正则表达式

re.match函数 使用 Python 中的 re 模块时&#xff0c;可以通过 re.match() 函数来尝试从字符串的开头匹配一个模式。以下是一个简单的详解和举例&#xff1a; import re# 定义一个正则表达式模式 pattern r^[a-z] # 匹配开头的小写字母序列# 要匹配的字符串 text "h…...

pdf图片识别分类

文章目录 解析pdf数据ocr识别分类方法正则匹配词频统计分类模型 分类完提示 解析pdf数据 试了几种方法 fitz-get_image后面方法不适用&#xff0c;用pixmap分辨率低 用pypdf2版本低方法用不了 用pdf2image还要下依赖工具 用spire.pdf的SaveAsImage分辨率低&#xff0c;Extract…...

24双非考研哈尔滨工程大学计算机(@程程笔记)

前言 个人情况&#xff0c;本科双非考研软件工程。24考研成绩总分369(政治75&#xff0c;英语58&#xff0c;数学102&#xff0c;专业课134)&#xff0c;整体各科成绩比较均衡&#xff0c;没有太突出和瘸腿的&#xff0c;初始排名5/19&#xff0c;复试后排名5/13。 政治 政治…...

IO流(2.其他流)

能够高效读写的缓冲流&#xff0c;能够转换编码的转换流&#xff0c;能够持久化存储对象的序列化流 一、缓冲流 缓冲流,也叫高效流&#xff0c;是对4个基本的FileXxx 流的增强&#xff0c;所以也是4个流&#xff0c;按照数据类型分类&#xff1a; 字节缓冲流&#xff1a;Buffe…...

PyTorch之计算模型推理时间

一、参考资料 如何测试模型的推理速度 Pytorch 测试模型的推理速度 二、计算PyTorch模型推理时间 1. 计算CPU推理时间 import torch import torchvision import time import tqdm from torchsummary import summarydef calcCPUTime():model torchvision.models.resnet18()…...

layui后台框架,将左侧功能栏目 集中到一个页面,通过上面的tab切换 在iframe加载对应页面

实现上面的 功能效果。 1 html代码 <form class"layui-form layui-form-pane" action""><div class"layui-tab" lay-filter"demo"><ul class"layui-tab-title"><li id"a0" class"lay…...

【网络原理】使用Java基于TCP搭建简单客户端与服务器通信

目录 &#x1f384;API介绍&#x1f338;ServerSocket API&#x1f338;Socket API &#x1f340;TCP中的长短连接&#x1f333;建立TCP回显客户端与服务器&#x1f338;TCP搭建服务器&#x1f338;TCP搭建客户端 ⭕总结 TCP服务器与客户端的搭建需要借助以下API &#x1f384;…...

Hadoop生态系统主要是什么?

Hadoop生态系统主要由以下几部分组成&#xff1a; Hadoop HDFS&#xff1a;这是Hadoop的核心组件之一&#xff0c;是一个用于存储大数据的分布式文件系统。它可以在廉价的硬件上提供高度的容错性&#xff0c;通过数据复制和故障切换实现数据的高可用性。 MapReduce&#xff1a…...

GlusterFS分布式文件系统

前言 存储可分为文件存储和对象存储&#xff0c;常见的文件存储相关技术有&#xff1a;nfs、lvm、raid&#xff1b;常见的对象存储相关技术有&#xff1a;gfs、ceph、fdfs、nas、oss、s3、switch。GlusterFS 归类为文件存储系统&#xff0c;它提供了一种强大的方式来管理和存储…...

spark本地模拟多个task时如何启动多个Excutor

1、首先在9090端口下启动Excutor,作为第一个Excutor 2、然后修改9090端口为&#xff1a;9091&#xff0c;如下图点击Edit Configration 3、然后按下图操作 &#xff0c; 4、修改一下名字 5、点击apply&#xff0c;&#x1f197; 6、检查下面圈1是否是刚刚我们新建的MyExcutor(2…...

RocketMQ笔记(八)SpringBoot整合RocketMQ广播消费消息

目录 一、简介1.1、消费模式 二、消费者2.1、maven依赖2.2、application配置2.3、消费监听 三、生产者3.1、发送消息3.2、运行结果 四、其他 一、简介 在之前的文章中&#xff0c;我们讲过了&#xff0c;同步发送单条消息&#xff0c;异步发送单条消息&#xff0c;发送单向消息…...

Appium如何自动判断浏览器驱动

问题&#xff1a;有的测试机chrome是这个版本&#xff0c;有的是另一个版本&#xff0c;怎么能让自动判断去跑呢&#xff1f;&#xff1f; 解决办法&#xff1a;使用appium的chromedriverExecutableDir和chromedriverChromeMappingFile 切忌使用chromedriverExecutableDir和c…...

MVCC-多版本并发控制

MVCC&#xff08;多版本并发控制&#xff09;简介 在数据库系统中&#xff0c;并发控制是一个非常重要的话题。为了提高系统的并发性能和吞吐量&#xff0c;现代数据库系统通常使用多种技术来实现对数据的安全访问&#xff0c;其中一种重要的技术就是多版本并发控制&#xff0…...

c++找最高成绩

根据给定的程序&#xff0c;写成相关的成员函数&#xff0c;完成指定功能。 函数接口定义&#xff1a; 定义max函数&#xff0c;实现输出最高成绩对应的学号以及最高成绩值。 裁判测试程序样例&#xff1a; #include <iostream> using namespace std; class Student{…...

前端saas化部署

在项目中难免会遇到一些特殊的需求&#xff0c;例如同一套代码需要同时部署上两个不同的域名A和B。A和B的不同之处仅在于&#xff0c;例如一些背景图片&#xff0c;logo&#xff0c;展示模块的不同&#xff0c;其他业务逻辑是和展示模块是完全一样的。此时我们当然可以考虑单独…...

[Java基础揉碎]Math类

目录 基本介绍 方法一览(均为静态方法) 1) abs 绝对值 2) pow 求幂 3) ceil 向上取整 4) floor 向下取整 5) round 四舍五入 6) sqrt 求开方 7) random求随机数 8) max 求两个数的最大值 9) min 求两个数的最小值 基本介绍 Math类包含用于执行基本数学运算的方法&…...

Ascend CANN平台避坑指南:从算子开发到模型部署的5个关键陷阱

Ascend CANN平台避坑指南&#xff1a;从算子开发到模型部署的5个关键陷阱 在AI加速器领域&#xff0c;昇腾NPU凭借其独特的达芬奇架构和CANN软件栈&#xff0c;正在成为越来越多企业级AI部署的首选方案。然而在实际工程落地过程中&#xff0c;从算子开发到模型部署的完整链路里…...

激光+视觉+IMU+RTK融合实战:如何用多传感器打造厘米级三维重建系统?

激光视觉IMURTK融合实战&#xff1a;如何用多传感器打造厘米级三维重建系统&#xff1f; 在自动驾驶和机器人领域&#xff0c;三维重建技术正经历着从实验室走向工业落地的关键转折。传统单一传感器方案已无法满足复杂场景下的精度需求&#xff0c;而多传感器融合正成为突破性能…...

Vue3 + FFmpeg.wasm 实战:5分钟搞定浏览器端视频格式转换(附完整代码)

Vue3 FFmpeg.wasm&#xff1a;浏览器端视频处理的革命性方案 当现代Web应用越来越依赖多媒体处理能力时&#xff0c;传统依赖后端转码的方案暴露出明显短板&#xff1a;上传耗时、服务器压力大、隐私数据外流风险。而FFmpeg.wasm的出现彻底改变了这一局面——这个基于WebAssem…...

DevOps工具链集成:GitLab CI、Jenkins与Argo CD如何选?

DevOps工具链集成&#xff1a;GitLab CI、Jenkins与Argo CD如何选&#xff1f; 在DevOps实践中&#xff0c;工具链的选型直接影响交付效率与系统稳定性。GitLab CI、Jenkins和Argo CD作为主流工具&#xff0c;分别覆盖持续集成&#xff08;CI&#xff09;、持续交付&#xff0…...

Chandra AI在教育领域的应用:智能学习助手开发

Chandra AI在教育领域的应用&#xff1a;智能学习助手开发 1. 引言 想象一下这样的场景&#xff1a;一个学生在深夜复习功课&#xff0c;遇到一道数学难题却找不到老师请教&#xff1b;一个上班族想学习新技能&#xff0c;但时间碎片化难以系统学习&#xff1b;一个老师面对几…...

Phi-4-mini-reasoning实操手册:针对数学题优化的token长度设置技巧

Phi-4-mini-reasoning实操手册&#xff1a;针对数学题优化的token长度设置技巧 1. 模型特点与适用场景 Phi-4-mini-reasoning是一个专为推理任务优化的文本生成模型&#xff0c;特别适合处理需要多步分析的数学题和逻辑题。与通用聊天模型不同&#xff0c;它被设计为直接输出…...

OpenRocket终极指南:专业火箭设计与飞行仿真软件完全解析

OpenRocket终极指南&#xff1a;专业火箭设计与飞行仿真软件完全解析 【免费下载链接】openrocket Model-rocketry aerodynamics and trajectory simulation software 项目地址: https://gitcode.com/GitHub_Trending/op/openrocket OpenRocket是一款功能强大的开源火箭…...

事件驱动视觉革命:EVS技术如何重塑机器感知的未来格局

1. EVS技术&#xff1a;重新定义机器视觉的游戏规则 想象一下你正坐在高速行驶的列车上&#xff0c;窗外风景飞速掠过。传统相机就像每隔几秒才按下一次快门的游客&#xff0c;拍到的全是模糊不清的照片&#xff1b;而EVS&#xff08;事件驱动视觉传感器&#xff09;则像专业摄…...

NumPy 2.4.4 发布,修复关键错误

NumPy 2.4.4 版本正式发布&#xff0c;作为补丁版本&#xff0c;它修复了 2.4.3 版本的错误&#xff0c;解决了 ARM 平台 OpenBLAS 线程问题&#xff0c;还支持 Python 3.11 - 3.14 版本。 版本修复亮点 NumPy 2.4.4 主要解决了 ARM 平台上的 OpenBLAS 线程问题&#xff0c;即 …...

深度解析WindowResizer:Windows窗口强制调整工具的技术架构与实现

深度解析WindowResizer&#xff1a;Windows窗口强制调整工具的技术架构与实现 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer WindowResizer是一款基于MFC框架开发的Windows桌面应…...