前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MySQL数据库基础查询语句笔记

MySQL数据库基础查询语句笔记

作者头像
Breeze.
发布于 2022-06-05 04:14:14
发布于 2022-06-05 04:14:14
3.4K08
代码可运行
举报
运行总次数:8
代码可运行

普通查询

  • 最基本的查询语句是由 CELECT 和 FROM 关键字组成的

*:代表所有字段的意思

  • SELECT 语句屏蔽了物理层的操作,用户不比关心数据的真是存储,交由数据库高效的查询数据
  • 通常情况下,SELECT子句中使用了表达式,name这列的名字就默认为表达式,因此需要一中对列明重命名的机制
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT
    empno,
    sal*12 AS "income"
FROM t_emp;

查询语句的子句执行顺序

数据分页

比如我们查看朋友圈,只会加载少量部分信息,不会一次性加载全部朋友圈,那样只会浪费CPU时间、内存和网络带宽 如果结果集的记录很多,则可以使用LIMIT关键字限定结果集数量。

简写用法

如果LIMIT子句只有一个参数,他表示的是偏移量,起始值默认为0

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT empno,ename FROM T_emp LIMIT 10;
# 等价于
SELECT empno,ename FROM T_emp LIMIT 0,10;

执行顺序:FROM -> SELECT -> LIMIT

结果排序

如果没有设置,查询语句不会对结果集进行排序。也就是说,如果想让结果集按照某种顺序排列,就必须使用 ORDER BY子句。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT ...... FROM ...... ORDER BY 列名 [ASC | DESC]; #升序加ASC,降序加DESC
SELECT empno,ename,sal,deptno FROM t_emp ORDER BY sal;#升序
SELECT empno,ename,sal,deptno FROM t_emp ORDER BY sal DESC;#降序

ASC代表升序(默认),DESC代表降序。

升序:按从小到大的顺序排列 (如1、3、5、6、7、9)。 降序:就是按从大到小的顺序排列 (如9、8、6、4、3、1)。

如果排序列的是数字类型,数据库就按照数字大小排序,如果是日期类型,就按照日期大小排序,如果是字符串就按照字符串集序号排序。

排序+分页

ORDER BY子句书写的时候放在LIMIT子句的前面

FROM -> SELECT -> ORDER BY -> LIMIT

去除重复记录

如果我们需要去除重复的数据,可以使用DISTINCT关键字来实现

DISTINCT修饰的不是列名,而是SELECT,即可以连起来看作一个整体SELECT DISTINCT,跟普通的SELECT相比,表明这种查询会执行去重。因此,看起来像是“必须放在第一个字段前面”,实际上它跟字段没关系,是跟SELECT有关系。

重复,指的是结果集中的两行每一列的值都完全一样。如果存在任何一列值不一样,都不算重复。因此,重复不是只看一个列,而是要看一行的所有列。

当SELECT DISTINCT后面跟多个字段时,同样也会做去重(按上面说的重复的定义来判断)。只不过视频中的数据在同时选择job和ename时,没有job和ename都相同的行,所以看起来像是没有做去重,像是“去重失效了”,实际上并没有失效,只是确实没有重复而已。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT DISTINCT 字段 FROM ......;
SELECT DISTINCT job FROM t_emp;

注意事项

使用DISTINCT的SELECT子句中只能查询一列数据,如果查询多列,去除重复记录就会失效。

DISTINCT关键字只能在SELECT子句中使用一次

条件查询 I

很多时候,用户感兴趣的并不是逻辑表里的全部记录,而是他们当中能够满足一种或某几种条件的记录。这类条件要用WHERE子句来实现数据的筛选

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT DISTINCT 字段 FROM ... WHERE 条件 [AND | OR] 条件 ...; 
#假设每个条件都需要满足,在每个条件之间添加AND。假设这些条件只需要满足一个,在每个条件之间添加OR
SELECT DISTINCT empno,ename,sal FROM t_emp WHERE deptno=10 AND sal >= 2000;
#想查询10部门里边底薪超过2000的员工

四类运算符

WHERE语句中的条件运算会用到一下四种运算符:

算数运算符

MySQL ifnull()函数 - MySQL教程™ (yiibai.com)

IFNULL(null,0)把null转换成0

不管什么值与null值进行预算结果都是null,可以用 IFNULL(null,0) 来解决

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT empno,sal,ename,hiredate
FROM t_emp
WHERE deptno=10 AND (sal+IFNULL(comm,0))*12>=15000
AND DATEDIFF(NOW(),hiredate)/365>=20;

DATEDIFF(第一个日期,第二个日期)可以返回第一个日期减去第二个日期的天数

NOW()获取当前日期和时间

比较运算符

MySQL IN运算符简介. IN 运算符允许你确定一个指定的值在一组值匹配的任何值或 子查询

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT
    deptno,empno,sal,hiredate
FROM t_emp
WHERE deptno IN(10,20,30) AND job!="SALLESMAN" AND hiredate<"1985-01-01";
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT 
    ename,comm,sal
FROM t_emp WHERE comm IS NULL
AND sal BETWEEN 2000 and 3000
AND ename LIKE "_LAKE";

正则表达式的运算符

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT 
    ename,comm,sal
FROM t_emp WHERE comm IS NOT NULL
AND sal BETWEEN 1000 and 3000
AND ename REGEXP"^[\\u4e00-\\u9fa5]{2,4}$";
# ^代表字符串的开头$代表字符串的结尾,

条件查询 II

逻辑运算符

二进制运算符

二进制运算的实质是将参与运算的两个操作数,按对应的二进制诸位进行逻辑运算

按位运算符

WHERE子句的注意事项

WHERE子句中,条件执行的顺序是从左到右。所以应该把索引条件,或者筛选掉记录最多的条件写在做左侧

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT empno,ename FROM t_emp
WHERE ename = "FORD" AND sal >= 2000;
#-------------------------------------
SELECT empno,ename FROM t_emp
WHERE deptno = 10 AND sal >= 2000;

各种子句的执行顺序

FROM –> WHERE -> SELECT -> ORDER BY -> LIMIT

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
【Python案例】短视频转动漫效果
近日,已使用多年的人教版小学数学教材中的插画引发社会各界人士争议。咱程序员也没有手绘插画能力,但咱可以借助强大的深度学习模型将视频转动漫。本文目标是让任何具有python语言基本能力的程序员,实现短视频转动漫效果。示例效果如下:
superhua
2022/05/29
2.8K8
【Python案例】短视频转动漫效果
利用Python让你的命令行像坤坤一样会打篮球
前言 承接上文,作为一个经常逛b站的肥宅,近期b站上除了流行"品如”素材的视频,更多的莫过于蔡xx打球视频的了,有模仿的,有对比的,有手绘的,更过分的是竟然有人在命令行输出了他的打球视频,地址在:ht
统计学家
2019/05/17
9370
利用Python让你的命令行像坤坤一样会打篮球
Python生成抖音字符视频,技术流!
抖音字符视频在去年火过一段时间。 反正我是始终忘不了那段极乐净土的音乐... 这一次自己也来实现一波,做一个字符视频出来。 主要用到的库有cv2,pillow库。 原视频,直接抖音下载的,妥妥的水印。
一墨编程学习
2019/05/10
1.1K0
Python生成抖音字符视频,技术流!
视频处理系列︱利用达摩院ModelScope进行视频人物分割+背景切换(一)
做了一个简单的实验,利用modelscope的人像抠图模型对视频流进行抠像并更换背景。
悟乙己
2023/01/03
2K0
视频处理系列︱利用达摩院ModelScope进行视频人物分割+背景切换(一)
我用字符画出了一个谷爱凌!
之前经常在网上看到那种由一个个字符构成的视频,非常炫酷。一直不懂是怎么做的,这两天研究了一下,发现并不难。
godweiyang
2022/02/23
3820
我用字符画出了一个谷爱凌!
【计算机视觉】【图像处理综合应用】路沿检测
用python的OpenCV实现视频文件的处理,用videoCapture打开视频文件,读取每一帧进行处理,然后用videoWriter保存成视频。
叶茂林
2023/11/27
4860
【计算机视觉】【图像处理综合应用】路沿检测
Python生成字符视频
在之前也写过生成字符视频的文章,但是使用的是命令行窗口输出,效果不是很好,而且存在卡顿的情况。于是我打算直接生成一个mp4的字符视频。大致思路和之前一样:Python20行代码实现视频字符化。
ZackSock
2021/05/18
5920
Python生成字符视频
【C++】OpenCV:图像视频读取基础操作
这里使用VideoCapture类打开输入视频文件,使用VideoWriter类创建输出视频文件(甚至可以进行格式转换)。
DevFrank
2024/07/24
2670
【C++】OpenCV:图像视频读取基础操作
【Python精彩案例】生成动态二维码
生成动态图需要读取原始gif图并生成新的gif图,即需要读取和保存功能。使用opencv可以轻松读取gif,首先安装opencv库:
superhua
2022/01/14
5630
【Python精彩案例】生成动态二维码
python将视频抽帧的的多种方式
最近有一个需求是将视频抽取为一个个的帧图片,使用python很方便实现,而且有多种方式;
JQ实验室
2022/09/29
3.2K0
opencv︱图片与视频的读入、显示、写出、放缩与基本绘图函数介绍
opencv中读入、显示、写出图片:cv2.imread(), cv2.imshow(), cv2.imwrite()
悟乙己
2019/05/26
5.8K0
Python20行代码实现视频字符化
我们经常在B站上看到一些字符鬼畜视频,主要就是将一个视频转换成字符的样子展现出来。看起来是非常高端,但是实际实现起来确实非常简单,我们只需要接触opencv模块,就能很快的实现视频字符化。但是在此之前,我们先看看我们实现的效果是怎样的:
ZackSock
2020/05/18
8850
Python20行代码实现视频字符化
新年新气象,100行 Python 代码制作动态鞭炮
当初人们燃竹而爆,是为了驱吓危害人们的山魈。据说山魈最怕火光和响声,所以每到除夕,人们便“燃竹而爆”,把山魈吓跑。这样年复一年,便形成了过年放鞭炮、点红烛、敲锣打鼓欢庆新春的年俗。
用户8544541
2022/01/27
7270
新年新气象,100行 Python 代码制作动态鞭炮
[1214]基于Python实现视频去重
一款基于Python语言的视频去重复程序,它可以根据视频的特征参数,将重复的视频剔除,以减少视频的存储空间。它的基本原理是:首先利用Python语言对视频文件进行解析,提取视频的特征参数,如帧率、码率等;然后根据特征参数,生成视频的哈希值;最后,将每个视频的哈希值进行对比,如果哈希值相同,则表示视频内容相同,可以将其中一个视频剔除,以节省存储空间。
周小董
2023/10/10
5990
关于OpenCV for Python入门-图片和摄像头显示
OpenCV和Python结合的学习资料不多,网上的资料更是鱼目混杂,推荐大家OpenCV官方教程中文版 for Python,建议自行下载。
python与大数据分析
2022/04/02
1.4K0
关于OpenCV for Python入门-图片和摄像头显示
一段蛋疼的代码:超不清视频播放器
今天分享的这段代码,看起来没啥实际用处,而且有些反潮流,因为现如今大家看视频都追求更高分辨率的超清画质,而我们这个,是一个“超不清”的视频播放器:
Crossin先生
2018/12/17
8600
OpenCV基础 | 2.图像,视频的加载与保存
数字图像由二维元素组成,每一个元素具有一个特定位置(x,y)和幅值f(x,y),这些元素就称为像素
快学Python
2021/08/09
1.1K0
python实战篇(三)---放慢视频VS图像添加文字
前面我们对图像和视频的读取进行了实操,今天我们继续来学习它们的处理-------放慢视频VS图像添加文字,学会今天的项目,你将会进入新的境界。
用户5410712
2022/06/01
7490
python实战篇(三)---放慢视频VS图像添加文字
03: 打开摄像头
学习打开摄像头捕获照片、播放本地视频、录制视频等。图片/视频等可到文末引用处下载。
CodecWang
2021/12/07
1.9K0
让AI帮助黑白影像焕发色彩
该项目基于Richard Zhang,Phillip Isola和Alexei A. Efros在加州大学伯克利分校开发的研究工作:彩色图像着色
代码医生工作室
2019/06/21
8540
让AI帮助黑白影像焕发色彩
推荐阅读
相关推荐
【Python案例】短视频转动漫效果
更多 >
LV.6
这个人很懒,什么都没有留下~
目录
  • 普通查询
    • 查询语句的子句执行顺序
  • 数据分页
    • 简写用法
  • 结果排序
  • 排序+分页
  • 去除重复记录
    • 注意事项
  • 条件查询 I
    • 四类运算符
      • 算数运算符
      • 比较运算符
  • 条件查询 II
    • 逻辑运算符
    • 二进制运算符
    • 按位运算符
    • WHERE子句的注意事项
加入讨论
的问答专区 >
1高级后端开发工程师擅长3个领域
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档