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.rhkb.cn/news/427516.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java中的Stack(栈)(如果想知道Java中有关Stack的知识点,那么只看这一篇就足够了!)

前言:栈(Stack)是一种基础且重要的数据结构,以其后进先出(LIFO, Last In First Out)的特性广泛应用于计算机科学和编程中。 ✨✨✨这里是秋刀鱼不做梦的BLOG ✨✨✨想要了解更多内容可以访问我的主页秋刀鱼…

VS code EXPLORER 中不显示指定文件及文件夹设置(如.pyc, __pycache__, .vscode 文件)

VS code EXPLORER 中不显示指定文件及文件夹设置 引言正文方法1打开方式1打开方式2 方法2 引言 VS code 号称地表最强轻量级编译器,其最大的优势在于用户可以根据自己的需求下载适合自己的 extension。从而定制个性化的编译器。然而,本人今天遇到了一个…

【machine learning-七-线性回归之成本函数】

监督学习之cost function 成本函数权重、偏置如何实现拟合数据成本函数是如何寻找出来w和b,使成本函数值最小化? 在线性回归中,我们说到评估模型训练中好坏的一个方法,是用成本函数来衡量,下面来详细介绍一下 成本函数…

IPv6路由基础

RIPng RIPng是一种较为简单的内部网关协议,是RIP在IPv6网络中的应用。RIPng主要用于规模较小的网络中,比如校园网以及结构较简单的地区性网络。由于RIPng的实现较为简单,在配置和维护管理方面也远比OSPFv3和IS-IS for IPv6容易,因…

黑马头条APP手工测试项目

1.app有关概念 APP测试范围: 业务功能测试 专项测试:兼容性测试 、安装/卸载/升级测试、交叉事件测试 、push消息推送测试、性能测试、其他测试(用户体验、权限/边界、权限) 功能测试测试对象: 功能点(单…

JAVA虚拟机----JVM

(一)认识JVM JVM 是 Java Virtual Machine 的简称,意为 Java虚拟机。 虚拟机是指通过软件模拟的具有完整硬件功能的、运⾏在⼀个完全隔离的环境中的完整计算机系统。 常⻅的虚拟机:JVM、VMwave、Virtual Box。 (二)JVM运…

EmguCV学习笔记 C# 12.3 OCR

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

EmguCV学习笔记 C# 12.2 WeChatQRCode

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

【Android】Handler用法及原理解析

文章目录 用处基本用法用法一:使用sendMessage和handleMessage方法用法二:使用post方法 法一工作原理Handler的sendMessageMessage成员变量 MessageQueueLooper主线程自动初始化子线程手动创建prepareloop Handler的dispatchMessage 法二工作原理Handler…

electron多标签页模式更像客户端

Electron多标签页模式是指在Electron框架中实现的类似Web浏览器的多标签页功能。Electron是一个使用Web技术(HTML、CSS和JavaScript)来创建跨平台桌面应用程序的框架。在Electron中实现多标签页模式,通常需要借助一些特定的库或组件&#xff…

PMP--二模--解题--11-20

文章目录 14.敏捷--实践--每日站会--团队成员利用每日站会对彼此做出小的承诺,发现问题,并确保团队工作顺利进行。(不是项目经理说,是团队成员)11、 [单选] 在每日站会上,项目经理与团队成员逐个交流&#…

VMware ESXi 7.0U3q macOS Unlocker 集成驱动版更新 OEM BIOS 2.7 支持 Windows Server 2025

VMware ESXi 7.0U3q macOS Unlocker 集成驱动版更新 OEM BIOS 2.7 支持 Windows Server 2025 VMware ESXi 7.0U3q macOS Unlocker & OEM BIOS 2.7 集成网卡驱动和 NVMe 驱动 (集成驱动版) ESXi 7.0U3 标准版集成 Intel 网卡、Realtek USB 网卡 和 NVMe 驱动 请访问原文链…

口哨声、歌声、boing声和biotwang声:用AI识别鲸鱼叫声

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

web基础—dvwa靶场(八)XSS

XSS(DOM) 跨站点脚本(XSS)攻击是一种注入攻击,恶意脚本会被注入到可信的网站中。当攻击者使用 web 应用程序将恶意代码(通常以浏览器端脚本的形式)发送给其他最终用户时,就会发生 XSS 攻击。允许这些攻击成…

[Unity Demo]从零开始制作空洞骑士Hollow Knight第五集:再制作更多的敌人

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、制作敌人另个爬虫Crawler 1.公式化导入制作另个爬虫Crawler素材2.制作另个爬虫Crawler的Crawler.cs状态机3.制作敌人另个爬虫Crawler的playmaker状态机二、…

大型语言模型 (LLM) 劫持攻击不断升级,导致每天损失超过 100,000 美元

Sysdig 威胁研究团队 (TRT) 报告称,LLMjacking(大型语言模型劫持)事件急剧增加,攻击者通过窃取的云凭证非法访问大型语言模型 (LLM)。 这一趋势反映了 LLM 访问黑市的不断增长,攻击者的动机包括个人使用和规避禁令和制…

DNS服务

一.DNS介绍 DNS应用层协议 Domain Name System 域名系统 作用:实现域名解析,解析主机名所对应的IP地址, 在网络环境中设备与设备之间要想相互通信只能依赖IP地址,DNS服务器的作用是实现域名解析。 如上图所示,DNS存…

英飞凌 PSoC6 RT-Thread 评估板简介

概述 2023年,英飞凌(Infineon)联合 RT-Thread 发布了一款 PSoC™ 62 with CAPSENSE™ evaluation kit 开发板 (以下简称 PSoC 6 RTT 开发板),该开发套件默认内置 RT-Thread 物联网操作系统。PSoC 6 RTT 开…

Matplotlib | 一文搞定Matplotlib从入门到实战演练!

文章目录 1 什么是Matplotlib1.1 Matplotlib的安装1.2 Matplotlib的基本使用 2 绘制直线3 绘制折线设置标签文字和线条粗细设置中文标题风格的设置 4 绘制曲线绘制曲线yx^2绘制正弦曲线和余弦曲线画布分区 5 绘制散点图绘制不同种类不同颜色的线 6 绘制条形图(柱状&…

计算机网络 ---- OSI参考模型TCP/IP模型

目录 一、OSI参考模型 1.1 学习路线 1.2 OSI参考模型和TCP/IP模型 1.3 具体设备与具体层次对应关系 1.3.1 物理层 1.3.2 数据链路层 1.3.3 网络层 1.3.4 传输层 1.3.5 会话层、表示层、应用层 1.4 各层次数据传输单位 二、TCP/IP模型 2.1 学习路线 2.2 TCP/I…