<MySQL> MySQL中查询(retrieve)数据的基础操作

news2024/12/23 17:29:57

目录

一、查询(retrieve)

1.1 查询数据的方式概述

二、全列查询

2.1 语法

2.2 操作演示

2.3 全列查询需要慎重使用

三、指定列查询

3.1 语法

3.2 操作演示

四、表达式查询

4.1 语法

4.2 操作演示

4.3 null 参与表达式计算

4.3 表达式查询存的缺陷

4.4 临时表中列的类型

五、查询结果指定别名(as)

5.1 语法

5.2 操作演示

六、去重查询(distinct)

6.1 语法

6.2 操作演示

七、排序查询(order by)

7.1 排序规则

7.2 语法

7.3 操作演示

八、条件查询(where)

8.1 语法

8.2 运算符简介

8.3 运算符   >   >=   <   <=

8.4 运算符   =   <=>

8.5 运算符   !=   <>

8.6 范围匹配 between A and B

8.7 选择匹配 in (option, ......)

8.8 判断空和非空 is null、is not null

8.9 模糊匹配运算符 like

8.10 运算符 与and、或or、非not

8.11 where 后的条件表达式中不能使用别名

8.12 条件查询中的 SQL 语句的执行顺序

九、分页查询(limit)

9.1 语法

9.2 分页查询的优点

9.3 操作演示


一、查询(retrieve)

1.1 查询数据的方式概述

查询方式简单说明
全列查询查询表中所有数据;
指定列查询查询表中指定列的数据;
表达式查询根据表达式查询相关列并运算,打印运算结果;
查询结果指定别名(as)为查询结果中的列指定别名,打印的列名为该别名;
去重查询(distinct)查询结果为去重后的结果;
排序查询(order by)对查询的结果进行排序;
条件查询(where)使用运算符,设置查询规则,根据查询规则查询数据;
分页查询(limit)指定查询的数据的打印行数,类似分页的效果;

        上述查询方式,是 MySQL 中基础的查询方式。

        查询方式并非每次只能使用一种,而是可以根据使用者的需求,将查询方式搭配组合,以查询到所需的数据。

        所有的查询结果都是一张 “临时表” ,执行查询操作不会改变数据库中的原始数据。 


 现有表格 student ,表格所有数据如下:


二、全列查询

2.1 语法

语法:select * from 表名;
解释:根据指定的数据表,查询表中所有数据;(‘ * ’ 号为通配符)

2.2 操作演示

2.3 全列查询需要慎重使用

        数据量过大时,用全列查询的方式查询数据,可能导致硬盘或网络带宽开销过大,在查询操作完成之前,服务器无法正常响应其他的的客户端请求。

        可能影响索引的使用。

        除非数据量小,通常情况下不建议执行全列查询操作


三、指定列查询

3.1 语法

语法:select 列名...... from 表名;
解释:指定数据表中的某一列或多列,查询指定列的所有数据。

        一个数据表中常会有多列,指定列查询的方式减少了查询的数据量。但仍可能出现数据量过大的情况,因此指定列查询也需要慎重使用。

3.2 操作演示


四、表达式查询

4.1 语法

语法:select 表达式...... from 表名;
解释:

指定数据表,根据表达式按列对数据表中的数据进行计算。

每个表达式为一列,将表达式结果打印。

4.2 操作演示

4.3 null 参与表达式计算

        应注意,当 null 参与计算时,结果必然为 null 。 

4.3 表达式查询存的缺陷

        表达式将作为列名进行打印。可以从上图看到,如果表达式非常长,那么这一列的列名也将非常长,可读性差,不利于阅读和理解该列含义。下文使用的“查询结果指定别名”可以解决这个问题。

4.4 临时表中列的类型

        所有的查询结果都是一个临时表。

        临时表中的数据类型不再受限于原始表。

        可以从上图看到,经过表达式计算后,数据格式已经不合法,但该查询操作仍可以执行。


五、查询结果指定别名(as)

5.1 语法

语法:select 表达式 as 别名 from 表名;
解释:

指定数据表,根据表达式按列对数据表中的数据进行计算。

每个表达式为一列,以别名作为表达式的运算结果的列名,将表达式结果打印。

5.2 操作演示


六、去重查询(distinct)

6.1 语法

语法:select distinct 列名...... from 表名;
解释:

指定数据表中的某一列或多列,除数据重复的行之外,打印查询结果。

        如果指定多列进行去重查询,此时需要每一列的数据都重复,才会认为数据行是重复的

6.2 操作演示


七、排序查询(order by)

7.1 排序规则

如果一个查询操作没有使用 order by 关键字,那么这个查询操作得到的结果集数据之间的相互顺序是不可预测的,不能被认为是有序的。
关键字 asc 表示升序,desc 表示降序。如果不指定升降序,则默认升序 asc 。(注意关键字升序 desc 和 关键字描述 desc 重复,使用时注意区分)
null 数据会被认为是最小值。
字符串也可以比较大小,一般按照字典序进行排序。中文也是按照字典序进行排序,不是按照拼音首字母或笔画顺序,一般没有意义。

7.2 语法

语法:select 列名...... from 表名 order by 列名 asc/desc;
解释:

select 后的列名,是指需要打印的列名。

order by 后的列名,是指排序的依据,这里的列名并不一定需要被打印。

order by 后的列名,可以选择升序排列(使用 asc 或 不写),或选择降序(使用 desc )

语法:select 表达式 as 别名...... from 表名 order by 别名 asc/desc;
解释:

与其他查询一样,可以在 select 后指定一列或多列,可以替换为表达式,可以指定别名。

指定别名后,order by 可以根据别名的数据进行排序。

语法:select 表达式 as 别名...... from 表名 order by 别名 asc/desc, 列名 asc/desc......;
解释:优先级排序:order by 后的列名,是指排序的依据,可以指定多列作为排序的依据,列与列之间排序的优先级根据书写的先后顺序决定。

7.3 操作演示


八、条件查询(where)

8.1 语法

        查询时,指定筛选条件,符合条件将被打印,不符合条件的不会打印。

语法:select 列名...... from 表名 where 条件表达式;
解释:

根据指定条件表达式筛选数据,打印指定列中符合条件的数据。

语法:select 表达式 as 别名...... from 表名 where 条件表达式;
解释:

与其他查询一样,可以在 select 后指定一列或多列,可以替换为表达式,可以指定别名

8.2 运算符简介

运算符列表
>   >=   <   <= 大于、大于等于、小于、小于等于
=   <=>等于
!=   <>不等于
between A and B范围匹配
in (option, ......)选择匹配
is null、is not null判断空
like模糊匹配
and、or、not与、或、非

阅读指针 -> 《SQL中的比较运算符和逻辑运算符简介》

<MySQL> SQL中的比较运算符和逻辑运算符简介-CSDN博客文章浏览阅读6次。简述 SQL 语言中的运算符https://blog.csdn.net/zzy734437202/article/details/134282495

8.3 运算符   >   >=   <   <=

8.4 运算符   =   <=>

8.5 运算符   !=   <>

8.6 范围匹配 between A and B

8.7 选择匹配 in (option, ......)

8.8 判断空和非空 is null、is not null

8.9 模糊匹配运算符 like

8.10 运算符 与and、或or、非not

8.11 where 后的条件表达式中不能使用别名

select 表达式 as 别名 from 表名 where 别名 + 10;

where 后的条件表达式中,不能使用别名。

上述语句指定了 “别名 + 10” 作为 where 后的条件表达式,执行该语句将报错,因为在 where 后的条件表达式中使用了别名。

where后不使用别名则可以正常打印:

8.12 条件查询中的 SQL 语句的执行顺序

根据指定的表,取出一行记录。
将该行记录代入条件表达式,判断是否满足条件。

如果条件满足,则将 select 后指定的列取出并打印;如果 select 后是表达式,则根据表达式计算后再进行打印。


九、分页查询(limit)

9.1 语法

语法:select * from 表名 limit 数量;
解释:

指定数据表,limit 指定需要打印多少行。

语法:select * from 表名 limit 数量 offset 行数;
解释:指定数据表,limit 指定需要打印多少行,offset 指定从哪一行开始打印。

9.2 分页查询的优点

        分页查询可以限制查询数据每次的打印数量和从哪个位置开始打印。       

        查询数据时,可能由于查询数据量过大,而导致服务器阻塞,一直在执行数据查询操作,而没有办法响应其他客户端请求。使用分页查询,就能很好的解决这个问题。

9.3 操作演示


 

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

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

相关文章

2023前端流行的新技术

作为2023年之前的技术水平有限&#xff0c;以下是一些目前为止较为热门的前端开发技术和趋势&#xff0c;这些技术可能在2023年之前进一步发展和普及。 前端程序员可以考虑学习和掌握以下技术&#xff1a; 1.Vue 3和React Hooks&#xff1a;Vue.js和React是目前最受欢迎的JavaS…

Layer 2 真的为以太坊扩容了吗?

构建一个安全、对用户友好的去中心化网络的愿景&#xff0c;依赖于关键基础设施的发展。这个愿景由一个共享的经济框架支持&#xff0c;得到了亿万人的拥护。Layer 2 的扩展解决方案在构建这一基础和增强以太坊的能力方面起着至关重要的作用。这些项目相互协作&#xff0c;形成…

抢疯了!OpenAI开出1000万美元天价年薪 北大AI博士未毕业拿百万offer

图片 抢疯了&#xff0c;抢疯了&#xff01;OpenAI和谷歌的抢人大战&#xff0c;已经进入白热化。 OpenAI给谷歌员工抛出了终极诱惑——500万到1000万美元的年薪&#xff01;以及来自微软的用不完的算力&#xff01; 图片 这不&#xff0c;谷歌复仇神器Gemini模型的关键研究…

【python】Django——django简介、django安装、创建项目、快速上手

笔记为自我总结整理的学习笔记&#xff0c;若有错误欢迎指出哟~ Django基础——django安装、创建django项目、django快速上手 django简介django安装1. conda创建环境pydjango2. pip安装django3. django目录 创建项目1. 打开终端(cmd)2. 进入某个目录3.创建项目命令4.django项目…

网络问题导致pycharm无法提交代码到代码仓库

现象 ssh: Could not resolve hostname github.com: Name or service not known fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 原因及解决办法 可能不是自己权限有问题&#xff0c;而是…

网站定制开发的流程|软件app小程序开发定制

网站定制开发的流程|软件app小程序开发定制 网站定制开发是一个为个体或企业创建定制化网站的过程。它涉及到规划、设计、开发和测试等一系列步骤&#xff0c;以满足客户的需求和目标。下面是网站定制开发的基本流程。 1. 需求分析&#xff1a;首先&#xff0c;与客户沟通并了解…

Qt高级--(1)自定义导航栏

好久没有水博客&#xff0c;参考别人的写一个自定义的导航栏吧。用处挺多的&#xff0c;可以用来切换到不同的信息显示界面。 功能点 1.默认情况下&#xff0c;文字居中显示&#xff0c;不显示图标&#xff0c;不显示三角。 2.可设置文字左侧、顶部、右侧、底部边距&#xff…

k8s系列文章二:集群配置

一、关闭交换分区 # 临时关闭分区 swapoff -a # 永久\关闭自动挂载swap分区 sudo sed -i / swap / s/^\(.*\)$/#\1/g /etc/fstab 二、修改cgroup管理器 ubuntu 系统&#xff0c;debian 系统&#xff0c;centos7 系统&#xff0c;都是使用 systemd 初始化系统的。systemd 这边…

行业追踪,2023-11-13

自动复盘 2023-11-13 凡所有相&#xff0c;皆是虚妄。若见诸相非相&#xff0c;即见如来。 k 线图是最好的老师&#xff0c;每天持续发布板块的rps排名&#xff0c;追踪板块&#xff0c;板块来开仓&#xff0c;板块去清仓&#xff0c;丢弃自以为是的想法&#xff0c;板块去留让…

CSRF 漏洞详解

CSRF 漏洞详解 漏洞描述 CSRF&#xff08;Cross-Site Request Forgery&#xff09;漏洞是一种Web应用程序安全漏洞&#xff0c;它允许攻击者利用受害者的已认证会话来执行未经授权的恶意操作。攻击者可以诱使受害者在受害者已经登录的情况下&#xff0c;通过社交工程或其他方…

前端中 JS 发起的请求可以暂停吗?

给大家推荐一个实用面试题库 1、前端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★ 地址&#xff1a;web前端面试题库 这个问题非常有意思&#xff0c;我一看到就想了很多可以回复的答案&#xff0c;但是评论区太窄&#xff0c;就直接开…

MTK手机平台充电原理

EPT GPIO初始化文件 bsp_gpio_ept_config.c 1 知识点总结 1.1 Official 参考充电电路 Figure 1-1 参考电路 VCHG&#xff1a;USB正极 VCDT&#xff1a;VCHG Charger Detect充电电压检测脚 ISENSE&#xff1a;充电电流检测电阻的正极 BATSNS&#xff1a;充电电流检测电阻的负极 …

VMware配置NAT模式网络

一、选择VMWare的NAT模式。 1&#xff09;导航栏“编辑”->“虚拟网络编辑器” ->NAT模式->NAT设置 记住NAT设置中的子网IP、子网掩码、网关IP三项&#xff0c;接下来配置文件主要是这三项。 嗯&#xff0c;这里记得按确定&#xff0c;我之前没有按确定写好配置后还…

c++-哈希

文章目录 前言一、unordered系列关联式容器1、unordered_map2、性能测试 二、哈希1、哈希概念2、哈希冲突3、哈希冲突解决3.1 闭散列3.2 开散列3.3 字符串Hash函数3.4 哈希桶实现的哈希表的效率 三、哈希表封装unordered_map和unordered_set容器1、unordered_map和unordered_se…

【PG】PostgreSQL 预写日志(WAL)、checkpoint、LSN

目录 预写式日志&#xff08;WAL&#xff09; WAL概念 WAL的作用 WAL日志存放路径 WAL日志文件数量 WAL日志文件存储形式 WAL日志文件命名 WAL内容 检查点&#xff08;checkpoint&#xff09; 1 检查点概念 2 检查点作用 触发检查点 触发检查点之后数据库操作 设置合…

擎创动态 | 再获上海区政府肯定,擎创科技被评为年度优秀高新技术企业

11月6日&#xff0c;上海市静安区副区长张慧和市北高新集团总裁陈军一行来到擎创科技调研指导&#xff0c;由擎创科技高管张健和陈莹陪同交流。 陈莹女士首先向副区长一行详细介绍了擎创科技的发展现状、落地实践效益以及未来的规划布局。在公司的成长过程中&#xff0c;得到静…

安卓现代化开发系列——从状态保存到SavedState

由于安卓已经诞生快二十载&#xff0c;其最初的开发思想与现代的开发思想已经大相径庭&#xff0c;特别是Jetpack库诞生之后&#xff0c;项目中存在着新老思想混杂的情况&#xff0c;让许多的新手老手都措手不及&#xff0c;项目大步向屎山迈进。为了解决这个问题&#xff0c;开…

linux时间同步

搭建集群时&#xff0c;都会先设置时间同步&#xff0c;否则会出现多种问题。 方式一&#xff1a; 1.安装ntp软件 yum install -y ntp 2.更新时区 删除原有时区&#xff1a;sudo rm -f /etc/localtime 加载新时区&#xff1a;sudo ln -s /usr/share/zoneinfo/Asia/Shangh…

杂乱知识点记录

杂乱知识点记录 1 目标检测评估指标2 visual grounding3 分割4 VLM经典框架5 RCNN系列RCNNFast RCNNFaster RCNNMask RCNN 6 GIOU7 DETR系列DETRDeformable DETRDAB-DETRDN-DETRDINO 8 COCO20149 COCO评价指标 maxDets[1,10,100]10 FCOS&#xff1a;anchor-free11 ATSS 1 目标检…

公司让我开发一个管理系统,有了它,So easy!

目录 一、前言 二、低代码如何快速开发&#xff1f; 1.可视化开发 2.预构建的组件和模板 3.集成的开发和测试工具 4.跨平台兼容性 5.可伸缩性和可扩展性 三、前后端分离的开发框架 技术架构 一、前言 长期以来&#xff0c;常规软件开发是一项艰苦而详尽的工作。开发人员编写代表…