MySQL数据库 9.DQL操作

news2024/10/7 17:25:43

目录

​编辑

🤔前言: 

🤔DQL介绍:

🤔查询种类:

1.基本查询:

🔍1.查询多个字段:

🔍2.查询所有字段:

🔍3.去除重复记录:

2.条件查询:

条件种类:

🔍1.比较查询:

🔍2.逻辑运算:

示例:

3.分组查询

语法:

where与having的区别:

示例:

重点:

 4.排序查询

示例:

 5.分页查询:

注意点:

示例:

结束!


🤔前言: 

 本篇将会进入较繁琐的一个语句操作:DQL操作,它种类繁多;有基础查询,条件查询,分组查询,分页查询,排序查询。因此我们要做好心理准备,常复习以前的知识点,才能更好的掌握SQL语言。

🤔DQL介绍:

DQL(Data Query Language)指的是在面向关系型数据库时,用于查询数据的语言。DQL语言包含了SELECT语句和相关子句,用于检索数据和对查询结果进行操作和管理。在SQL语言中,DQL语句是其中最常用的语句之一,一般也被称为查询语言。

🤔查询种类:

  • 基本查询
  • 条件查询(where)
  • 聚合函数(count,max,min,avg,sum)
  • 分组查询(group by)
  • 排序查询(order by)
  • 分页查询(limit)

1.基本查询:

我们预设一张填有信息的表,方便后面进行讲解:

🔍1.查询多个字段:

SELECT 字段1,字段2,字段3.....from 表名;

代码示例:

SELECT id,name from user_name;

运行结果:

我们只查询姓名和id,就只返回了姓名和id。

🔍2.查询所有字段:

select *from 表名;

代码示例:

SELECT *from user_name;

运行结果:

 

 

🔍3.去除重复记录:

SELECT DISTINCT 字段列表 FROM 表名;

代码示例:

select  distinct  age from user_name;

运行结果:

我们可以发现这次18岁只返回了一次。

2.条件查询:

SELECT 字段列表 FROM 表名 WHERE 条件列表;

条件种类:

🔍1.比较查询:

  • >   大于

  • >= 大于等于

  • <    小于

  • =  等于

  • <>或!= 不等于

  • between  and   在某个范围内(含最大值最小值)

  • in(...)在in之后的列表中多选1匹配
  • like 占位符 模糊匹配 _匹配单个字符,%d匹配任意个字符
  • is null 是NULL;

🔍2.逻辑运算:

  • and或&& 并且(多个同时成立)
  • or或 ||     或者(多个条件成立一个即可)
  • not或!   非,不是

为了方便演示案例,我们再次向表中插入数据:

示例:

📖1.寻找年龄大于12岁的人

代码示例:(>)

SELECT id ,name,age FROM user_name WHERE age>12;

 运行结果:

📖 2.寻找年龄在15到18岁之间的人(between   and)

代码示例:

SELECT id ,name,age FROM user_name WHERE age between 15 and 18;

运行结果:

📖 3.寻找年龄是15或18岁的人(in(...))

代码示例:

SELECT id ,name,age FROM user_name WHERE age  in(15,18);

运行结果:

📖 4.寻找年龄不是18岁的人

代码示例:

SELECT id ,name,age FROM user_name WHERE age !=18;

运行结果:

3.分组查询

预先展示数据:

 

语法:

SELECT 字段列表 FROM 表名 [where 条件] GROUP BY 分组字段名 [HAVING 分组后过滤条件];

where与having的区别:

  • 执行时机不同:where是分组之前进行过滤,不满足where条件的不参与分组,而having是分组以后对结果进行过滤。
  • 判断条件不同:where不能对聚合函数进行判断,但是having可以。

示例:

📖1.根据性别分组,分别计算男女两组人数:

代码示例:

select  count(*)from user_name group by gender;

运行结果: 

📖 2.根据性别分组后,计算两组的平均年龄:
代码示例:

select  avg(age)from user_name group by gender;

运行结果:

📖3. 查询年龄小于16岁的员工,并且根据性别分组,获取员工数量大于3的性别。

代码示例:

select gender ,count(*)from user_name where age<16 group by gender having count(*)>3;

运行结果:

重点:

  • 执行顺序:where>聚合函数>having
  • 分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段没有意义

 4.排序查询

SELECT 字段列表 form 表名 order by 字段1 排序方式1,字段2 排序方式2;

排序方式只有两种:

  • ASC 升序(默认值)
  • DESC 降序

📖多字段的排序规则是只有第一个字段值相同的时候,才会根据第二个字段进行排序。

示例:

📖1.根据年龄对人员按照降序进行排序:
代码示例:

SELECT name,age from user_name order by age desc ;

运行结果:

 5.分页查询:

SELECT 字段列表 from 表名 limt 起始索引,查询记录数;

注意点:

  • 起始索引从0开始,起始索引=(查询页码-1)*每页显示记录数。
  • 分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMT。
  • 如果查询的是第一页数据,起始索引可以省略,直接简写为limit 10;
     

示例:

📖1.查询第一页数据,每页展示十条记录

代码示例:

SELECT  name,age from user_name limit 0,10

运行结果:

 

结束!

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

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

相关文章

【数据结构】常见排序算法——常见排序介绍、插入排序、直接插入排序、希尔排序

文章目录 1.排序的概念和应用1.1排序的概念1.2排序的运用1.3常见的排序算法 2.常见的排序算法2.1插入排序2.1.1直接插入排序2.1.2希尔排序 1.排序的概念和应用 1.1排序的概念 在计算机科学中&#xff0c;排序是将一组数据按照指定的顺序排列的过程。排序算法由于执行效率的不同…

01_爬虫基础知识和requests模块简介

爬虫基础知识 1、爬虫简介: 爬虫的作用:帮助我们把网站信息快速提取并保存爬虫的分类: 通用爬虫聚集爬虫爬虫的安全知识:目前来说,无明确法律规定,但每个官网都有自己的爬虫协议(网址后面加/robots.txt)爬虫的爬取流程: 1、获取网页2、提取信息3、保存数据2、爬虫必须…

分布式软件架构——远程服务调用

序言 “架构师”可以是做企业战略设计的架构师&#xff0c;也可以说做业务流程分析的架构师。 架构师视角特指软件系统中技术模型的系统设计者。 在做架构设计的时候&#xff0c;架构师应该思考哪些问题、可以选择哪些主流的解决方案和行业标准做法&#xff0c;以及这些主流方…

【自制C++深度学习框架】前言

KuiperCourse 介绍 此GitHub项目是一个初学者的深度学习框架&#xff0c;使用C编写&#xff0c;旨在为用户提供一种简单、易于理解的深度学习实现方式。以下是本项目的主要特点和功能&#xff1a; 计算图&#xff1a;使用计算图来描述深度学习模型的计算过程&#xff0c;利用计…

气球飘飘:用Java Swing创造令人心旷神怡的视觉奇观

✨博主&#xff1a;命运之光 ✨专栏&#xff1a;Java经典程序设计 前言&#xff1a;这篇博客在手机上打开可能会自动播放视频&#xff0c;视频有音乐&#xff0c;请及时关闭手机音乐哈&#x1f642; 目录 ✨导语 ✨引言 ✨简单介绍一下Javaswing这项技术简单介绍一下Javaswi…

简单的UDP网络程序·续写

该文承接文章 简单的UDP网络程序 对于客户端和服务端的基本源码参考上文&#xff0c;该文对服务器润色一下&#xff0c;并且实现几个基本的业务服务逻辑 目录 demo1 第一个功能&#xff1a;字典翻译 初始化字典 测试代码&#xff1a;打印 字符串分割 客户端修改 成品效果…

idea如何一个项目启动两个tomcat服务(不同端口)

目录 第一步&#xff1a;创建一个普通的springboot项目 第二步&#xff1a;编写一个controller代码&#xff0c;用来接收请求 第三步&#xff1a;复制服务&#xff0c;端口设置为8081 第四步&#xff1a;依次访问8080、8081两个服务进行测试 第一步&#xff1a;创建一个普通…

基于JavaWeb的保护动物管理系统设计与实现

摘要&#xff1a;随着全球一些稀有物种、野生动物日益稀少&#xff0c;保护动物已经成为全球多个国家开始重视并投入大量物力着手解决的重要课题。动物是大自然的产物&#xff0c;自然界是由许多复杂的生态系统构成的。有一种植物消失了&#xff0c;以这种植物为食的昆虫就会消…

easyExcel导入失败提示用户第几行有误并回滚数据

思路&#xff1a; 在controller定义一个map&#xff0c;将map传入excel监听器&#xff0c;在监听器中处理excel的数据&#xff0c;读取到某一行出现错误就将错误提示信息存入map并抛出一个异常给service。在service方法上开启事务&#xff0c;并将异常出实现数据回滚&#xff0…

vite使用vue3 v-for渲染图片时的写法

写法一 <template><divclass"demo-img"v-for"item in demoOption":key"item.code":style"background-image: url(${getImageUrl(../assets/imge/${item.img}.jpeg)})"></div> </template><script lang&qu…

2023网安最流行的10大工具(附安装包)

从事网络安全工作&#xff0c;手上自然离不开一些重要的网络安全工具。今天&#xff0c;分享10大网络安全工具。 一、Kali Linux Kali 是一个基于 Debian 的 Linux 发行版。它的目标就是为了简单&#xff1a;在一个实用的工具包里尽可能多的包含渗透和审计工具。Kali 实现了这…

Linux 之Python 定制篇-APT 软件管理和远程登录

Linux 之Python 定制篇-APT 软件管理和远程登录 apt 介绍 apt 是Advanced Packaging Tool 的简称&#xff0c;是一款安装包管理工具。在Ubuntu 下&#xff0c;我们可以使用apt 命令进行软件包的安装、删除、清理等&#xff0c;类似于Windows 中的软件管理工具。 unbuntu 软件…

【C++】深拷贝浅拷贝

前言&#xff1a;在 C 中&#xff0c;当一个对象通过赋值或拷贝即将成为另一个对象的副本时&#xff0c;会发生“浅拷贝”或“深拷贝”。 什么是浅拷贝&#xff1f; 浅拷贝是指两个对象共享同一个内存地址&#xff0c;即将源对象的数据成员的地址赋给了目标对象&#xff0c;当…

vue diff算法与虚拟dom知识整理(15) 终结篇,收尾新前到旧前全部不匹配情况

我们现在就只需要处理最后一种情况了 我们在 updateChildren.js 在while中 的if最后加个 else 当他们都没哟匹配到的情况 我们现在在updateChildren.js最上面 定义一个空对象 叫 keyMap 参考代码如下 let keyMap null;然后 在我们刚写的else中编写代码如下 //判断 如果…

Stable-Diffusion|入门怎么下载与使用civitai网站的模型(二)

C站&#xff1a;https://civitai.com/ 文章目录 1 样图2 实现2.1 下载主模型并放到正确文件夹中2.2 找到prompt2.3 生成2.4 Lora使用 3 一些有趣的项目3.1 胶片风格Lora3.2 [最近很火] 现实感很强的Majicmix-realistic 先贴几张笔者自己实验的图&#xff0c;模型来自&#xff1…

Libevent学习

一、Libevent概述 1、简介 Libevent 是一个用C语言编写的、轻量级的开源高性能事件通知库&#xff0c;主要有以下几个亮点&#xff1a;事件驱动&#xff08; event-driven&#xff09;&#xff0c;高性能;轻量级&#xff0c;专注于网络&#xff0c;不如 ACE 那么臃肿庞大&…

C++必背基础知识点总结

重点&#xff1a;不借助任何外部资料就能掌握&#xff0c;考试面试大概率涉及。 掌握&#xff1a;不借助任何外部资料就能掌握&#xff0c;考试面试有可能涉及。 熟悉&#xff1a;可以适当参考资料掌握&#xff0c;考试面试有可能涉及。 了解&#xff1a;可是参考资料掌握&…

iptables的四表五链

文章目录 1. Iptables的链2.Iptables的表3.数据包过滤的匹配流程3.1 规则表之间的顺序3.2 规则链之间的顺序3.3 规则链内部各条防火墙规则之间的顺序3.4如何应用 每个 规则表&#xff0c;其实就相当于一个内核空间的容器&#xff0c; 按照规则集的不同用途进行划分为默认的四…

w11+wsl+3060安装cuda等深度学习环境

把一切都重新又梳理学习了一遍&#xff0c;然后发现很多事情其实没必要弄 0. 显卡驱动、nvidia-smi、cuda、nvcc、cuDNN、pytorch、cudatoolkit与它们之间的关系 笔者本人鸟枪换炮了&#xff0c;还是wsl环境香&#xff0c;但是按照官方教程跑完后&#xff0c;遇到了bugRuntim…

RTMPose关键点检测实战——笔记3

文章目录 摘要安装MMPose安装虚拟环境安装pytorch安装MMCV安装其他的安装包下载 MMPose下载预训练模型权重文件和视频素材 安装MMDetection安装Pytorch安装MMCV安装其它工具包下载 MMDetection安装MMDetection下载预训练模型权重文件和视频素材 MMPose预训练模型预测命令行的方…