MySQL --- DQL

news2024/11/24 16:55:48

  • 使用DDL语句来操作数据库以及表结构(数据库设计)
  • 使用DML语句来完成数据库中数据的增、删、改操作(数据库操作)

学习数据库操作方面的内容:查询(DQL语句)。 

查询操作我们分为两部分学习:

  • DQL语句-单表操作

  • DQL语句-多表操作

数据库中数据的查询操作,也就是DQL语句,DQL语句学习完毕之后,关于单表的操作就讲解完了。包括单表的设计,单表的增删改查。

多表的操作,包括多表的设计,多表的查询等。

一. 数据库操作 --- DQL语句(重点掌握)

1.1 介绍

DQL

  • DQL英文全称是Data Query Language(数据查询语言),用来查询数据库表中的记录/数据
  • 查询关键字:SELECT

查询操作是所有SQL语句当中最为常见,也是最为重要的操作。在一个正常的业务系统中,查询操作基本上能够占据90%以上,查询操作的使用频次是要远高于增删改操作的。当我们打开某个网站或APP所看到的展示信息,这些数据都是在数据库当中存储和管理的,都是通过从数据库中查询得到的,而这个查询操作也是最为复杂的一种操作,基本上每点击一次都会发起一次或者是多次的查询操作,而在这个查询过程中,还会涉及到条件、排序、分页等操作。前端页面它仅仅是将数据以好看的样式呈现出来,最终的数据是在数据库当中存储和和管理的,而界面当中的每一条数据都对应于数据库表结构当中的一条记录。比如,当我们点击课程管理这个菜单之后,就会将数据库表结构当中的数据查询出来,然后通过前端代码将数据渲染展示在这个页面上。而为了更好的满足用户的需求,给用户提供更好的体验,我们也允许用户在上面根据条件/关键字来进行查询,在查询出来的这个结果当中,我们也可以对结果进行排序,比如我们可以按照创建时间进行升序排序,也可以按照创建时间进行降序排序。如果我们查询返回的这个数据比较多,假如说有成千上万条,此时如果一次性将成千上万条数据都展示出来,第一个页面加载速度会比较慢,第二个用户体验不好,所以如果数据量比较多,我们可以考虑进行分页展示,这样,用户就可以分页来查看对应的数据了,用户的体验也会更好一些。所以我们可以看到,查询这个操作确实相对是比较繁琐的。

 

1.2 语法 

DQL查询语句,语法结构如下:

  • DQL语句它的语法是以select开始,select之后跟上的是字段列表,就代表我们要查询返回表中的哪些字段,多个字段之间使用逗号分隔;form之后跟上表名列表,也就是说我们可以从多张表当中进行查询(今天先学习单表查询,后面再学习多表查询)。这就构成了第一个部分,也就是基本查询部分,在基本查询当中,我们只需要指定从哪一张表当中来查询,查询返回哪些字段。
  • 第二个部分就是条件查询,在基本查询后面可以加上一个关键字where,在where之后跟上条件列表,这里也可以传递多个条件。
  • 第三个部分就是分组查询,分组查询对应的关键字是group by,在group by之后跟上分组的字段,如果分组之后我们还要进行条件的筛选,在后面再跟上一个关键字having,having之后加上的是分组后的条件。举例:我们现在有一张表是员工表,里面有一个字段是gender性别,现在我想统计男性员工、女性员工各多少人,此时我们就可以根据性别这个字段来进行一个分组,分完组之后再来统计男性和女性各多少人。
  • 再往下就是排序操作,我们只需要在后面再加上一个关键字order by,在order by之后跟上排序的字段,这里也是可以支持多个字段进行排序的。
  • 最后一个方面就是limit分页查询,需要在SQL语句的后面加上一个关键字 --- limit,在limit之后跟上分页参数。

SELECT
	字段列表
FROM
	表名列表
WHERE
	条件列表
GROUP  BY
	分组字段列表
HAVING
	分组后条件列表
ORDER BY
	排序字段列表
LIMIT
	分页参数

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

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

相关文章

chatgpt如何接入本地知识库?我们来看看EMNLP 2022 INFO是如何融入本地知识的

一、概述 title:You Truly Understand What I Need : Intellectual and Friendly Dialogue Agents grounding Knowledge and Persona 论文地址:You Truly Understand What I Need : Intellectual and Friendly Dialog Agents grounding Persona and Know…

基于S/Key协议的身份认证系统设计与实现【python】

实验内容 1 、 身份认证系统设计 设计身份认证系统的功能、主要界面、主要软件模块,以及采用的认证技术路线和方法。 2 、 编程实现所设计的身份认证系统 在C、Python或Java程序设计环境下,编程实现基于S/Key协议的身份认证系统。要求实现的身份认证…

计算机中丢失msvcp140.dll无法启动此程序怎么办?msvcp140.dll在哪里

电脑系统中的 msvcp140.dll 文件是 Microsoft Visual C Redistributable 组件的一部分,它们提供了许多在 Windows 操作系统中运行的应用程序所需的重要函数和库。如果丢失了 msvcp140.dll 文件,你可能会遇到多种错误,比如无法运行应用程序、系…

【RabbitMQ】安装及六种模式

文章目录 安装rabbitmq镜像访问容器内部15672端口映射到外面的端口地址RabbitMQ六种模式Hello world模式Work queues模式Publish/Subscribe模式交换机fanout类型 Routing模式Topics模式RPC模式 rabbitmq:0->1的学习 学习文档:https://www.cnblogs.com…

Java集合之双列集合

双列集合特点 双列集合一次需要添加一对数据,分别是键和值键不能重复,值可以重复键和值是一一对应的,每一个键只能找到自己对应的值键 值这个整体称为“键值对”或者“键值对对象”,Java中叫“Entry对象” 双列集合的体系结构 Ma…

linux系统systemd初始化进程

前言:目前绝大多数服务器系统以及从RHEL6换成RHEL7了,以前习惯使用service来管理系统服务的,那么现在就比较郁闷了,RHEL7系统中使用systemctl命令来管理服务。 systemctl启动、重启、停止、查看状态命令: systemctl …

算法竞赛字符串篇之C++中string的成员函数

2023年5月7日,周日中午: 今天决定从字符串这个知识点开始学起,记录一下我今天的字符串学习。 不定期更新。 相关的英文文档: https://cplusplus.com/reference/string/string/ 容量方面的成员函数: empty&#xff…

基于AT89C51单片机的电子闹钟设计与仿真

点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87761718?spm=1001.2014.3001.5503 源码获取 主要内容: 基于51单片机设计一个电子闹钟,至少具有以下功能:时间的设定、时间的调整、闹钟的设定、温度的设定。 基本要求:…

排队论_M/M/1/inf/inf 问题

例:某修理店只有一一个修理工人,来修理的顾客到达数服从泊松分布,平均每小时4人;修理时间服从负指数分布,平均需6分钟。求: (1)修理店空闲的概率; (2)店内有3个顾客的概率; (3)店内至少有1个顾客的概率; (4)店内顾客的平均数; (5)顾客在店内的…

显著性检测:从传统方法到深度学习网络的演进与挑战

显著性检测技术在计算机视觉领域中扮演着至关重要的角色,它是一项对图像中最显著或最有区别的视觉特征进行分析和提取的技术。显著性检测技术可以为计算机视觉任务提供帮助,例如图像分割、目标检测、场景理解、图像检索和人机交互等方面。 本文将从传统方…

【MySQL】基于规则的优化(内含子查询优化;派生表;物化表;半连接;标量子查询;行子查询)

概念 常量表:下述两种查询方式查询的表: 类型1:查询的表中一条记录都没有,或者只有一条记录。 类型2:使用主键等值匹配或者唯一二级索引列等值匹配作为搜索条件来查询某个表 派生表:放在FROM子句后面的子…

UDP报头、TCP报头、IP报头、MAC头部、ARP头部

前言:DUP报头、TCP报头、IP报头、MAC头部、ARP头部。 UDP报头: UDP报头由八个字节组成,每个字段都是两个字节 : 1.源端口号:发送方端口号,需要对方回信的时候选用,不需要对方回信的时候置0 …

[LeetCode复盘] LCCUP‘23春季赛组队赛 20230507

[LeetCode复盘] LCCUP23春季赛组队赛 20230507 一、本周周赛总结1. 符文储备1. 题目描述2. 思路分析3. 代码实现 2. 城墙防线1. 题目描述2. 思路分析3. 代码实现 3. 提取咒文1. 题目描述2. 思路分析3. 代码实现 4. 生物进化录1. 题目描述2. 思路分析3. 代码实现 5. 与非的谜题…

HNU-操作系统OS-实验Lab3

OS_Lab3_Experimental report 湖南大学信息科学与工程学院 计科 210X wolf (学号 202108010XXX) 实验目的 了解虚拟内存的Page Fault异常处理实现了解页替换算法在操作系统中的实现 实验内容 本次实验是在lab2的基础上,借助于页表机制…

【python数据分析】运算符与表达式

🙋‍ 哈喽大家好,本次是python数据分析、挖掘与可视化专栏第三期 ⭐本期内容:运算符与表达式 🏆系列专栏:Python数据分析、挖掘与可视化 👍保持开心,拒绝拖延,你想要的都会有&#x…

车载软件架构——闲聊几句AUTOSAR BSW(四)

我是穿拖鞋的汉子,魔都中坚持长期主义的工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 我们并不必要为了和谐,而时刻保持通情达理;我们需要具备的是,偶尔有肚量欣然承认在某些方面我们可能会有些不可理喻。该有主见的时候能掷地有声地镇得住场…

iOS 对https App内部的http请求进行白名单设置

苹果从iOS9开始要求应用使用Https链接来对请求进行加密,来保证数据的安全.如果使用http请求将会报错,当然,如果你想继续使用http请求,有两种方式: 1.使用ASIHttpRequest来请求,ASI是使用CFNetwork来处理请求的,更底层些,避开了苹果的限制 2.在Info.plist文件设置如下 <key…

Docker安装常用软件-Apollo(有问题)

零&#xff1a;apollo概念介绍 官网网站&#xff1a;GitHub - apolloconfig/apollo: Apollo is a reliable configuration management system suitable for microservice configuration management scenarios. gitee网址&#xff1a;mirrors / ctripcorp / apollo GitCode …

自学软件测试简历没项目写怎么办?

目录 一、引言 二、测试任务 三、测试进度 四、测试资源 五、测试策略 六、测试完成标准 七、风险和约束 八、问题严重程度描述和响应时间规范 九、测试的主要角色和职责 软件测试是使用人工或者自动的手段来运行或者测定某个软件系统的过程&#xff0c;其目的在于检验…