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

006.MySQL_查询数据

无奋斗不青春

课 程 推 荐
我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈
入 门 教 程 推 荐 :👉👉 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.lryc.cn/news/441907.html

相关文章:

  • 【C#生态园】从图像到视觉:Emgu.CV、AForge.NET、OpenCvSharp 全面解析
  • 1、无线通信的发展概况
  • 虚拟机安装xubuntu
  • 携手鲲鹏,长亮科技加速银行核心系统升级
  • 新鲜的Win11/10镜像,全系列下载!
  • iPhone 16系列:摄影艺术的全新演绎,探索影像新境界
  • 移动应用开发中的技术选择:优缺点全面解析
  • 宿舍管理系统的设计与实现 (含源码+sql+视频导入教程)
  • 原生+jquery写自动消失的提示框
  • Android14 蓝牙 BluetoothService 启动和相关代码介绍
  • 【秋招笔试-支持在线评测】9.19小米秋招(已改编)-三语言题解
  • 动态IP与静态IP:哪种更适合用户使用?
  • Flowable基础篇
  • SQL Server数据库简单的事务日志备份恢复
  • 二级C语言2023-3易错题
  • 【2024】前端学习笔记9-内部样式表-外部导入样式表-类选择器
  • 回归传统,Domino拷贝式迁移!
  • 商品搜索API返回值解析:关键字搜索如何优化商品推荐
  • 暴雨总裁孙辉:不是所有应用都要追求“大”模型
  • 【掌桥科研-注册安全分析报告-无验证方式导致安全隐患】
  • BERT推理显存爆满?7个实用技巧教你快速优化!显存优化的最佳实践指南
  • JS实现树形结构数据中特定节点及其子节点显示属性设置的技巧(可用于树形节点过滤筛选)
  • 第二证券:金价涨了!创一历史之最!
  • maxwell 输出消息到 kafka
  • 青柠视频云——视频丢包(卡顿、花屏、绿屏)排查
  • 单片机原理及应用
  • sql中拼接操作
  • 基于C语言+SQL Server2008实现(控制台)图书管理系统
  • Msf之Python分离免杀
  • electron-updater实现electron全量版本更新