006.MySQL_查询数据

news2025/1/22 10:38:37

无奋斗不青春

课 程 推 荐
我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈
入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈
虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈
PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)教程合集 👈👈
Oracle数据库教程:👉👉 Oracle数据库教程合集 👈👈
MySQL数据库教程:👉👉 MySQL数据库教程合集 👈👈
优 质 资 源 下 载 :👉👉 资源下载合集 👈👈
优 质 教 程 推 荐:👉👉 Python爬虫从入门到入狱系列 合集 👈👈
.

分隔线
在这里插入图片描述

MySQL数据库教程目录

      • 查询数据
        • 创建数据
        • 查询关键字
        • 语法
          • 不带查询条件
          • 带查询条件
          • 多条件查询
          • 去重
          • 排序
          • 分组
          • 分页查询

查询数据

创建数据
  • 创建测试数据库表t_student
    CREATE TABLE t_student (
    	id INT,
    	stuName VARCHAR (60),
    	age INT,
    	sex VARCHAR (30),
    	gradeName VARCHAR (60)
    ); 
    INSERT INTO t_student (id, stuName, age, sex, gradeName) VALUES('1','张三','23','男','一年级');
    INSERT INTO t_student (id, stuName, age, sex, gradeName) VALUES('2','张三丰','25','男','二年级');
    INSERT INTO t_student (id, stuName, age, sex, gradeName) VALUES('3','李四','23','男','一年级');
    INSERT INTO t_student (id, stuName, age, sex, gradeName) VALUES('4','王五','22','男','三年级');
    INSERT INTO t_student (id, stuName, age, sex, gradeName) VALUES('5','珍妮','21','女','一年级');
    INSERT INTO t_student (id, stuName, age, sex, gradeName) VALUES('6','李娜','26','女','二年级');
    INSERT INTO t_student (id, stuName, age, sex, gradeName) VALUES('7','王峰','20','男','三年级');
    INSERT INTO t_student (id, stuName, age, sex, gradeName) VALUES('8','梦娜','21','女','二年级');
    INSERT INTO t_student (id, stuName, age, sex, gradeName) VALUES('9','小黑','22','男','一年级');
    INSERT INTO t_student (id, stuName, age, sex, gradeName) VALUES('10','追风','25','男','二年级');
    INSERT INTO t_student (id, stuName, age, sex, gradeName) VALUES('11','小小张三','21',NULL,'二年级');
    INSERT INTO t_student (id, stuName, age, sex, gradeName) VALUES('12','小张三','23','男','二年级');
    INSERT INTO t_student (id, stuName, age, sex, gradeName) VALUES('13','张三锋小','24',NULL,'二年级');
    

查询关键字
功能关键字语法
查询所有数据select * from 表名
查询指定字段select 指定字段名 from 表名
条件查询Whereselect * from 表名 where 条件表达式
关键字查询[not] inselect * from 表名 where 字段名 [not] in (元素1,元素2,…)
范围查询[not] between andselect * from 表名 where 字段 [not] between 值1 and 值2
模糊查询[not] likeselect * from 表名 字段 [not] like ‘%元素%’
select * from 表名 字段 [not] like ‘_元素_’
空值查询is [not] nullselect * from 表名 where 字段 is [not] null
且多条件查询andselect * from 表名 where 条件表达式1 and 条件表达式2
或多条件查询orselect * from 表名 where 条件表达式1 or 条件表达式2
去重复查询distinctselect distinct 字段 from 表名
对结果排序order byselect * from 表名 order by 排序字段 [asc/desc]
分组查询group byselect 分组字段,count(字段) from 表名 group by 分组字段
分页查询limitselect * from 表名 limit 初始位置,每页记录数

语法
不带查询条件
  • 查询所有数据
    SELECT * FROM 表名;
    SELECT 字段1,字段2,字段3,... FROM 表名;
    
  • 查询指定字段
    SELECT 字段1,字段2,...FROM 表名;
    
带查询条件
  • Where条件查询
    SELECT 字段1,字段2,字段3,... FROM 表名 WHERE 条件表达式;
    
  • IN关键字查询(包含)
    SELECT 字段1,字段2,字段3,... FROM 表名 WHERE 字段 [NOT]IN (元素1,元素2,元素3,....);
    
  • 带BETWEEN AND的范围查询
    SELECT 字段1,字段2,字段3,... FROM 表名 WHERE 字段 BETWEEN1 AND2;
    
  • 带 LIKE 的模糊查询
    SELECT 字段1,字段2,字段3,... FROM 表名 WHERE 字段 LIKE '字符串';
    
    %:代表任意字符串
    _:代表单个字符串
    
  • 空值查询
    SELECT 字段1,字段2,字段3,... FROM 表名 WHERE 字段 IS [NOT] NULL;
    
多条件查询
  • AND 多条件查询[且]
    SELECT 字段1,字段2,字段3,... FROM 表名 WHERE 条件表达式1 AND 条件表达式2 [AND 条件表达式n];
    
  • OR 多条件查询[或]
    SELECT 字段 1,字段 2...FROM 表名 WHERE 条件表达式1 OR 条件表达式2 [OR 条件表达式n];
    
去重
  • DISTINCT 去重复查询
    SELECT DISTINCT 字段名 FROM 表名;
    
排序
  • ORDER BY 对查询结果排序
    SELECT 字段 1,字段 2...FROM 表名 ORDER BY 属性名 [ASC|DESC]
    
    ASC:升序(默认)
    DESC:降序
    
分组
  • GROUP BY 分组查询
    SELECT 字段1,字段2,字段3,... FROM 表名 GROUP BY 字段名 [HAVING 条件表达式][WITH ROLLUP]
    
  • GROUP BY单独使用毫无意义
    • 与 GROUP_CONCAT()函数一起使用(按分组将数据合并在一行,并用","分隔);
    • 与聚合函数一起使用(SUM、COUNT、AVG、MAX、MIN);
    • 与 HAVING 一起使用(HAVING对结果进行筛选);
    • 与 WITH ROLLUP 一起使用(最后加入一个汇总行);
  • GROUP BY示例
    • GROUP_CONCAT示例

      SELECT gradeName,GROUP_CONCAT(stuName) FROM t_student GROUP BY gradeName;
      
    • 请添加图片描述

    • 与聚合函数一起使用 示例

      1、计数 COUNT
      SELECT gradeName,COUNT(stuName) AS "人数" FROM t_student GROUP BY gradeName;
      
      2、求和 SUM
      SELECT gradeName,SUM(age) AS "总年龄" FROM t_student GROUP BY gradeName;
      
      3、平均值 AVG
      SELECT gradeName,AVG(AGE) AS "总年龄" FROM t_student GROUP BY gradeName;
      
    • 请添加图片描述

    • 与HAVING一起使用(对查询结果进行筛选)

      SELECT gradeName,AVG(AGE) AS "总年龄" FROM t_student GROUP BY gradeName HAVING AVG(AGE)>22;
      
    • 请添加图片描述

    • 与 WITH ROLLUP 一起使用

      SELECT gradeName,AVG(AGE) AS "总年龄" FROM t_student GROUP BY gradeName WITH ROLLUP;
      
      SELECT gradeName,GROUP_CONCAT(stuName) FROM t_student GROUP BY gradeName WITH ROLLUP;
      
    • 如果分组项为数值,则求和。如果分组项为文本,则合并

    • 请添加图片描述

    • 请添加图片描述

    • WITH ROLLUP可以配合COALESCE使用

      SELECT COALESCE(gradeName,'合计'),AVG(AGE) AS "总年龄" FROM t_student GROUP BY gradeName WITH ROLLUP;
      
      SELECT COALESCE(gradeName,'汇总'),GROUP_CONCAT(stuName) FROM t_student GROUP BY gradeName WITH ROLLUP;
      
    • 请添加图片描述

    • 请添加图片描述

    • COALESCE 说明

      select coalesce(表达式,'指定值') from 表名		
      >> 当表达式的值为null时,返回指定值,否则返回表达式的值
      
      
      select coalesce(表达式1,表达式2,'指定值') from 表名		
      >> 当表达式1不为null,返回表达式1的值。
      >> 当表达式1null,而表达式2不为null的时候,返回表达式2的值。
      >> 只有当表达式1和表达式2均为null的时候,将返回指定值
      
分页查询
  • LIMIT 分页查询
    SELECT 字段1,字段2,...FROM 表名 LIMIT 初始位置,每页记录数;
    
  • 注意:LIMIT的初始位置是从0开始(第一条数据)
  • LIMIT 示例
    SELECT * FROM t_student LIMIT 0,5; -- 取第1-第5条数据
    SELECT * FROM t_student LIMIT 5,5; -- 取第6-第10条数据
    SELECT * FROM t_student LIMIT 10,5; -- 取第11-最后一条数据
    
  • 请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2148547.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FPGA随记-二进制转格雷码

反射二进制码(RBC),也称为反射二进制(RB)或格雷码(Gray code),得名于Frank Gray,是二进制数制的一种排列方式,使得连续两个值之间仅有一个比特(二…

EmguCV学习笔记 VB.Net 12.1 二维码解析

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 EmguCV是一个基于OpenCV的开源免费的跨平台计算机视觉库,它向C#和VB.NET开发者提供了OpenCV库的大部分功能。 教程VB.net版本请访问…

算法.图论-建图/拓扑排序及其拓展

文章目录 建图的三种方式邻接矩阵邻接表链式前向星 拓扑排序拓扑排序基础原理介绍拓扑排序步骤解析拓扑排序模板leetcode-课程表 拓扑排序拓展食物链计数喧闹与富有并行课程 建图的三种方式 我们建图的三种方式分别是邻接矩阵, 邻接矩阵, 链式前向星 邻接矩阵 假设我们的点的…

自定义复杂AntV/G6案例

一、效果图 二、源码 /** * * Author: me * CreatDate: 2024-08-22 * * Description: 复杂G6案例 * */ <template><div class"moreG6-wapper"><div id"graphContainer" ref"graphRef" class"graph-content"></d…

计算机毕业设计污染物文献共享数据库管理系统网站开发与实现

计算机毕业设计&#xff1a;污染物文献共享数据库管理系统网站开发与实现 1. 项目背景 随着环境问题日益严峻&#xff0c;对污染物的研究变得尤为重要。然而&#xff0c;在学术界和工业界之间存在着信息孤岛现象&#xff0c;即大量的研究成果被分散在不同的数据…

[Redis][String][上]详细讲解

目录 0.前言1.常见命令1.SET2.GET3.MSET && MGET4.SETNX && SETXX 2.计数命令1.INCR2.INCRBY3.DECR4.DECYBY5.INCRBYFLOAT6.注意 0.前言 字符串类型是Redis最基础的数据类型&#xff0c;关于字符串需要特别注意&#xff1a; Redis中所有的键的类型都是字符串类…

【Elasticsearch系列十四】Elasticsearch

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

大数据概念与价值

文章目录 引言大数据的概念高德纳咨询公司的定义麦肯锡全球研究所的定义什么是大数据&#xff1f; 大数据的特征Volume&#xff08;体积&#xff09;Variety&#xff08;种类&#xff09;Velocity&#xff08;速度&#xff09;Value&#xff08;价值&#xff09;Veracity&#…

Apache Hudi现代数据湖核心技术概论

1. 什么是 Apache Hudi 1.1 简介 Apache Hudi (Hadoop Upserts Deletes and Incrementals) 是一个开源的数据湖框架&#xff0c;旨在提供高效的数据管理和数据更新功能。它允许在大数据平台上执行诸如数据插入、更新和删除操作&#xff0c;同时支持增量式数据处理。Hudi 最初…

React18入门教程

React介绍 React由Meta公司开发&#xff0c;是一个用于 构建Web和原生交互界面的库 React的优势 相较于传统基于DOM开发的优势 组件化的开发方式 不错的性能 相较于其它前端框架的优势 丰富的生态 跨平台支持 React的市场情况 全球最流行&#xff0c;大厂必备 开发环境…

EmguCV学习笔记 C# 12.2 WeChatQRCode

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 EmguCV是一个基于OpenCV的开源免费的跨平台计算机视觉库,它向C#和VB.NET开发者提供了OpenCV库的大部分功能。 教程VB.net版本请访问…

Vue.js的前端框架有哪些?

Vue.js 是一款流行的前端 JavaScript 框架&#xff0c;用于构建单页面应用&#xff08;SPA&#xff09;。除了 Vue.js 本身&#xff0c;还有许多基于 Vue.js 的前端框架和 UI 库&#xff0c;它们提供了更多的功能和组件&#xff0c;以便开发者能够快速构建应用程序。以下是一些…

【图像压缩与重构】基于BP神经网络

课题名称&#xff1a;基于BP神经网络的图像压缩与重构&#xff08;带GUI) 相关资料&#xff1a; 1. 代码注释 2.BP神经网络原理文档资料 3.图像压缩原理文档资料 程序实例截图&#xff1a;

eclipse git 不小心点了igore,文件如何加到git中去。

1、创建了文件&#xff0c;或者利用三方工具&#xff0c;或者用mybatis plus生成了文件以后&#xff0c;我们需要右键文件&#xff0c;然后加入到git中。 右键有问号的java文件 -- Team -- Add to Index &#xff0c;然后变成个号就可以了。 2、不小心&#xff0c;点了一下Ign…

Mac 上哪个剪切板增强工具比较好用? 好用剪切板工具推荐

在日常文字编辑中&#xff0c;我们经常需要重复使用复制的内容。然而&#xff0c;新内容一旦复制&#xff0c;旧内容就会被覆盖。因此&#xff0c;选择一款易用高效的剪贴板工具成为了许多人的需求。本文整理了一些适用于 macOS 系统的优秀剪贴板增强工具&#xff0c;欢迎大家下…

华为OD机试 - 构成指定长度字符串的个数(Python/JS/C/C++ 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试真题&#xff08;Python/JS/C/C&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加入华为OD刷题交流群&#xff0c;…

想高效开发,也许可以试试文件系统。。。

众所周知&#xff0c;4G-Cat.1模组的文件系统与数据传输速度、存储效率&#xff0c;以及数据安全性等有非常重要的关系&#xff0c;在应用开发中也非常重要。 今天我们来尝试Air201的实用示例——文件系统的使用 Air201文件系统的使用 合宙Air201资产定位模组——是一个集成超…

密集行人数据集 CrowdHumanvoc和yolo两种格式,yolo可以直接使用train val test已经划分好有yolov8训练200轮模型

密集行人数据集 CrowdHuman voc和yolo两种格式&#xff0c;yolo可以直接使用 train val test已经划分好 有yolov8训练200轮模型。 CrowdHuman 密集行人检测数据集 数据集描述 CrowdHuman数据集是一个专为密集行人检测设计的数据集&#xff0c;旨在解决行人密集场景下的检测挑…

【自动驾驶】控制算法(九)深度解析车辆纵向控制 | 从算法基础到 Carsim 仿真实践

写在前面&#xff1a; &#x1f31f; 欢迎光临 清流君 的博客小天地&#xff0c;这里是我分享技术与心得的温馨角落。&#x1f4dd; 个人主页&#xff1a;清流君_CSDN博客&#xff0c;期待与您一同探索 移动机器人 领域的无限可能。 &#x1f50d; 本文系 清流君 原创之作&…

【C语言】常见的C语言概念

个人主页 &#xff1a; zxctscl 如有转载请先通知 文章目录 1. 什么是C语言2.C语言的历史3. 编译器的选择VS20223.1 编译和链接3.2 编译器的对比3.3 VS2022的优缺点 4.VS项目和源文件、头文件介绍5. 第一个C语言程序6. main函数7. printf和库函数8. 关键字介绍9. 字符和ASCII编…