mysql查询数据知识点

1、基本查询语句

SELECT 
{*|}
[FROM ,...[WHERE ][GROUP BY ][HAVING [{}...]][ORDER BY ][LIMIT[,]]]

2、单表查询

        2.1、查询所有字段:

                1)、在SELECT语句中使用‘*’通配符查询所有字段             

SELECT * FROM 表名;

                2)、在SELECT语句中指定所有字段。                     

SELECT s1,s2,s3,...,sn FROM 表名;

        2.2、查询指定字段:

                1)、查询单个字段                  

SELECT 列名 FROM 表名;

                2)、查询多个字段

SELECT s1,s2,s3,...,sn FROM 表名;

        2.3、查询指定记录:

SELECT 字段名1,字段名2,...字段名n FROM 表名 WHERE 查询条件;

        2.4、带IN关键字的查询:

                1)、IN操作符用来查询满足指定范围内的条件的记录,使用IN操作符,将所有条件用括号括起来,检索条件用逗号分隔开,只要满足条件范围内的一个值即为匹配项。

SELECT 字段名1,字段名2,...字段名n FROM 表名 WHERE 字段名 IN (条件1,条件2,...条件n);

                2)、NOT IN操作符用来查询不满足指定范围内的条件的记录。

SELECT 字段名1,字段名2,...字段名n FROM 表名 WHERE 字段名 NOT IN (条件1,条件2,...条件n);

        5、带BETWEEN AND的范围查询:

                1)、BETWEEN AND 用来查询某个范围内的值,该操作需要两个参数,即范围的开始值和结束值,如果字段值满足指定的范围查询条件,则这些记录被返回。

SELECT 字段名1,字段名2,...字段名n FROM 表名 WHERE 字段名 BETWEEN 开始值 AND 结束值;

                2)、NOT BETWEEN AND 用来查询指定范围外的值。

SELECT 字段名1,字段名2,...字段名n FROM 表名 WHERE 字段名 NOT BETWEEN 开始值 AND 结束值;

        6、带LIKE的字符匹配查询:

                1)、百分号通配符'%',匹配任意长度的字符,甚至包括零字符。

                2)、下划线通配符'_',一次只能匹配任意一个字符 。

        7、查询空值:

                1)、IS NULL查询某字段为空值。

                2)、NOT IS NULL 查询某字段不为空值。

        8、带AND的多条件查询

SELECT 字段名1,字段名2,...字段名n FROM 表名 WHERE 查询条件1 AND 查询条件2 AND 查询条件3;

        9、带OR的多条件查询:

                只需要满足一个条件的记录即可返回,和IN操作符功能相同,但是IN操作符使得检索语句更加简洁明了,并且IN执行速度快于OR,IN操作符可以执行更加复杂的嵌套查询。OR可以和AND一起使用,但是AND的优先级高于OR。

SELECT 字段名1,字段名2,...字段名n FROM 表名 WHERE 查询条件1 OR查询条件2 OR 查询条件3;

        10、查询结果不重复:

SELECT DISTINCT 字段名 FROM 表名;

        11、对查询结果排序:ORDER BY

                1)、单列排序

                2)、多列排序

                3)、指定排序方向(ASC,DESC)

        12、分组查询:

                1)、创建分组

SELECT 字段名1,字段名2,...字段名n 
FROM 表名 
WHERE 查询条件
[GROUP BY 字段][HAVING ];

                2)、使用HAVING过滤分组

                3)、在GROUP BY子句中使用WITH ROLLUP

                        使用WITH ROLLUP关键字后,在所有查询出的分组记录数之后增加一条记录,该记录计算查询出的所有记录的总和

                4)、多字段组合

                5)、GROUP BY和ORDER BY同时使用

        13、使用LIMIT限制查询结果的数量

                LIMIT [位置偏移量,] 行数

3、使用集合函数查询

        1、COUNT()函数统计数据表中包含的记录行的总数,或者根据查询结果返回列中包含的数据行数。其使用方法有两种:

                1)、COUNT(*)计算表中总的行数,不管某列有数字或者为空值。

                2)、COUNT(字段名)计算指定列下总的行数,计算时将忽略空值的行。

        2、SUM()是一个求总和的函数,返回指定列值的总和。

        3、AVG()函数通过计算返回的行数和每一行数据的和,求得指定列数据的平均值。

        4、MAX()函数返回指定列中的最大值。

        5、MIN()函数返回指定列中的最小值。

4、连接查询

        1、内连接查询:

                内连接(INNER JOIN) 使用比较运算符进行表间某(些)列数据的比较操作,并列出这些表中与连接条件相匹配的数据行,组合成新的纪录,也就是说,在内连接查询中,只有满足条件的记录才能出现在结果关系中。

        2、外连接查询:

                1)、LEFT JOIN 左连接:返回包括左表中的所有记录和右表中连接字段相等的记录。

                2)、RIGHT JOIN 右连接:返回包括右表中的所有记录和左表中连接字段相等的记录。

        3、复合条件连接查询:

                在连接查询的过程中,通过添加过滤条件,限制查询的结果,使查询的结果更加准确。

5、子查询

        1、带ANY和SOME关键字的子查询

                ANY和SOME关键字是同义词,表示满足其中任一条件,他们允许创建一个表达式对子查询的返回值列表进行比较,只要满足内层子查询中的任何一个比较条件,就返回一个结果作为外层查询的条件。

        2、带ALL关键字的子查询

                ALL关键字接在一个比较操作符的后面,表示与子查询返回的所有值b比较为true,则返回true。

        3、带EXISTS关键字的子查询

                EXISTS关键字的参数是一个任意的子查询,系统对子查询进行运算以判断它是否返回行,如果至少返回一行,那么EXISTS的结果为true,此时外层查询语句将进行查询;如果子查询没有返回任何行,那么EXISTS的结果为false,此时外层语句将不进行查询。

                NOT EXISTS与EXISTS使用方法相同,返回的结果相反,子查询如果至少返回一行,那么NOT EXISTS的结果为false,此时外层查询语句将不进行查询;如果子查询没有返回任何行,那么NOT EXISTS的结果为true,此时外层语句将进行查询。

        4、带IN关键字的子查询

                IN关键字进行子查询时,内层查询语句仅仅返回一个数据列,这个数据列里的值将提供给外层查询语句进行比较。

                NOT IN 作用与IN作用相反。

        5、带比较运算符的子查询

                比如">"、"="、""等。

        6、合并查询结果:

                利用UNION关键字,可以给出多条SELECT语句,并将它们的结果组合成单个结果集。合并时两个表对应的列和数据类型必须相同。各个SELECT语句之间使用UNION或UNION ALL关键字隔开。UNION不使用关键字ALL,执行的时候删除重复的记录,所有返回的行都是唯一的;使用关键字ALL的作用是不删除重复行也不对结果进行自动排序。

SELECT column,..... FROM table1UNION [ALL]SELECT column,..... FROM table2

        7、为表和字段取别名:

                1)、为表去别名

                        当表名很长或者执行一些特殊查询时,为了方便操作h或者需要多次使用相同表时,可以为表指定别名,用这个别名替代表原来的名称。

                        表名 [AS] 表名

                2)、为字段取别名

                        列名 [AS] 列别名

        8、使用正则表达式查询:(使用REGEXP关键字指定正则表达式的字符匹配模式)

                1)、查询以特定字符或字符串开头的记录

                        字符 '^' 匹配以特定字符或字符串开头的记录

                2)、 查询以特定字符或字符串结尾的记录

                        字符 '$' 匹配以特定字符或字符串结尾的记录

                3)、用符号 '.' 来代替字符串中的任意一个字符

                        字符 '.' 匹配任意一个字符。

                4)、使用"*"和"+"来匹配多个字符

                        "*"匹配前面的字符任意多次包括0次。"+"匹配前面的字符至少一次。

                5)、匹配指定字符串

                        正则表达式可以匹配指定字符串,只要这个字符串在查询文本中即可,如要匹配多个字符串,多个字符串之间s使用分隔符'|'隔开。

                6)、匹配指定字符中的任意一个

                        "[]"指定一个字符集合,只匹配其中任何一个字符,即为所查找的文本。

                7)、匹配指定字符以外的字符

                        "[^字符集合]"匹配不在指定集合中的任何字符。

                8)、使用{n,}或者{n,m}来指定字符串连续出现的次数

                        "{n,}"表示至少匹配n次前面的字符;

                        "{n,m}"表示匹配前面的字符串不少于n次,不多于m次。

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

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

相关文章

K-POP女团X:IN现身韩K联赛 中场表演令人眼前一亮

本月1日,韩国K-POP女团X:IN参加了在韩国京畿道金浦Solteo足球场举办的金浦FC和全南天龙(Jeonnam Dragons)的韩亚银行K联赛2(2024第16轮)比赛,并带来了精彩的祝贺表演令人眼前一亮。 女团X:IN在比赛中场休息期间,通过《…

Linux配置定时任务crontab

场景 要求每个小时 定时到/home/threeinf 目录下执行 sh run.sh restart 命令 配置 1. crontab -e 编辑定时任务列表(相当于vi /etc/crontab, 就是编辑crontab文件) crontab -e 在文件中添加 0 * * * * cd /home/threeinf && sh run.sh re…

特征工程技巧——字符串编码成数字序列

这段时间在参加比赛,发现有一些比赛上公开的代码,其中的数据预处理步骤值得我们参考。 平常我们见到的都是数据预处理,现在我们来讲一下特征工程跟数据预处理的区别。 数据预处理是指对原始数据进行清洗、转换、缩放等操作,以便为…

扩散变压器:开创图像生成新纪元

在深度学习领域,变换器(Transformer)架构已经成为自然语言处理、视觉识别等多个领域的核心技术。最近,一项新的研究探索了基于变换器的一类新型扩散模型——扩散变压器(Diffusion Transformers,简称DiTs&am…

如何解决centos报错lsb_release: command not found?

lsb_release 是查看系统版本信息的工具,在使用的时候突然出现报错lsb_release: command not found? [rootlocalhost ~]# lsb_release -a -bash: lsb_release: command not found 解决方法:yum install redhat-lsb -y [rootlocalhost ~]# ls…

VMware Workstation Pro 免费正版安装指南(非常详细)零基础入门到精通,收藏这一篇就够了

随着博通公司在2023年11月对VMware的收购和产品策略的调整,VMware宣布取消“永久许可证”并转向订阅制,这一改变引发了用户的不满。然而,在2024年5月14日,VMware发布了一个令人振奋的消息,宣布为个人用户免费提供两款桌…

linux中定时执行python脚本

linux和wsl执行方法相同,windows也可以通过这种方法在linux中依照如下方法完成。 crontab -e 后添加如下命令,每分钟执行 * * * * * /usr/bin/python3 /home/lighthouse/python/get_cpu_usage.py 先用如下脚本测试 import psutil import datetime imp…

Java编程常见问题汇总二

系列文章目录 文章目录 系列文章目录前言一、请使用XML解析器二、请使用JDom组装XML三、XML编码陷阱四、未指定字符编码五、未对数据流进行缓存 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击…

解决 git 命令 Problem with the SSL CA cert (path? access rights?)

/etc/pki/nssdb 错误 运行命令: GIT_CURL_VERBOSE1 git clone git_repo_url 会输出详细错误信息 Cloning into fp_sdk... * Couldnt find host xxx.com in the .netrc file; using defaults * About to connect() to xxx.com port 443 (#0) * Trying 10.44.52.7…

k8s系列-Listen: listen tcp :53: bind: permission denied

要解决 coredns 无法绑定到低于 1024 的端口(如端口 53)的权限问题,可以通过启用 containerd 的配置选项来允许非特权端口绑定。具体步骤如下: 1. 编辑 containerd 配置文件 打开 containerd 的配置文件 /etc/containerd/config…

跨平台,不需要下载的串口调试助手

在线串口调试助手是BBAIoT旗下的首款物联网工具,web端显示,不需要下载任何软件到电脑,方便快捷。 在线串口调试 链接地址:在线串口调试在线串口调试助手 Online serial port debugging assistanthttps://www.bbaiot.com/ 软件界…

强引用 软引用 弱引用 虚引用 以及WeakHashMap简单介绍

一:强引用 软引用 弱引用 虚引用 1:强引用 强引用是最常的引用方式: Integer a = 1变量a强引用Integer对象为1值,任何对象被强引用不会被垃圾回收掉。 2:软引用 一个对象是软引用且不可达,不会被垃圾回收器回收直到jvm虚拟机内存不够时候,下面创建软引用案例: In…

重新定义你的上网体验,微软WowTab助你一臂之力!

大家好,我是 Java陈序员。 浏览器是我们日常生活工作中必备的工具软件,使用非常频繁。 目前很多浏览器的新标签页虽然说功能齐全,但是充斥着广告和各种无效的信息,十分影响体验! 今天,给大家安利一个浏览…

常用ai模型和一些术语的科普

本文是早年浏览easyai.tech后留下的笔记。 文章目录 神经网络CNNRNNGANKNNCPU和GPU/TPUNLPNo free lunch theoremtransformer注意力机制自动编码器,自编码器GNN推荐系统附录NFL的两个例子 神经网络 水流,水龙头,流量阀。 可以回想CNN分类MNI…

软件磁盘阵列与LVM

一、软件磁盘阵列 磁盘阵列(RAID)是通过硬件或软件技术将多个较小的磁盘整合成为一个较大的磁盘设备,而这个较大的磁盘除了存储还具备数据保护功能。 RAID分不同的级别,不同级别具有不同功能: 1、RAID 0:…

调用阿里云智能云实现垃圾分类

目录 1. 作者介绍2. API3. 阿里云API垃圾分类业务4. 实验过程4.1 接入阿里云4.2 创建并获取AccessKey ID和Secret4.3 登录阿里云官网,搜索垃圾分类技术文档4.4 配置环境变量4.5 代码部分 1. 作者介绍 孙作正,男,西安工程大学电子信息学院&am…

初中英语优秀作文分析-003My Favorite Movie Type-我最喜欢的电影类型

PDF格式公众号回复关键字:SHCZYF003 记忆树 1 I’d like to share my favorite movie type with you. 翻译 我想和你分享我最喜欢的电影类型。 简化记忆 电影类型 句子结构 I 主语 我,would 情态动词 愿意做某事,like 谓语 喜欢,to sha…

docker部署skywalking

skywalking版本下载 1:拉取skywalking的oap镜像(可以选择自己的版本,最好与ui,agent版本一致) docker pull apache/skywalking-oap-server:9.5.02:启动oap docker run -d -p 11800:11800 -p 12800:12800 --name sw_oap apache/…

蓝桥杯物联网竞赛_STM32L071_19_输出方波信号(PWM)

国赛考了一个方波,第一次考这个,连个示波器都没有 CUBMX配置: 按上述配置刚好是32MHZ / 32 / 100 1KHZ 理论: 频率:就是一秒钟能产生多少个脉冲,如下图: 这算是一个脉冲,1KHZ说明一秒钟产生1…

STM32使用HAL库UART接收不定长数据-1

使用STM32的HAL库实现UART串口不定长数据的接收 使用STM32的UART接收数据的时候,经常会遇到接收长度不固定的数据,比如一帧数据可能是10个字节,也可能是12个字节。这种数据称为不定长数据。 现有的很多通信协议是不定长的,比如mo…