mysql-dql(Data QueryLanguage)summary

article/2025/10/16 15:16:36

1.基础查询

DESC 库名//查看库SHOW DATABASES ;//查看当前所在数据库SHOW TABLES;//查看当前库的所有表USE database;//datebase为需要查询的库名SELECT attribute,attribute2 FROM form;//从form中查询attribute,attribute2SELECT * FROM beauty;//查询表中所有属性SELECT DISTINCT attribute FROM form;//查询相关元素并去重,当查询多个属性时,需多个属性同时相同才满足去重条件SELECT id FROM beauty WHERE id=1;//where后为限制条件/*  where子句中的运算符=:等于
<>:不等于(在sql的一些版本中也可以写成!=)	
>:大于
<:小于
>=:大于等于
<=:小于等于
and(&&):且
or(||):或
not(!):否
between:在某个范围内,如:where income between 1000 and 2000,等价于 between income>=1000 and income <=2000
like:模糊查询%表示多个字符,_表示一个字符如: like 'm%'; 表示查询以m开头的内容like '%m_'; 表示查询以m在倒数第二位的所有内容in:查询内容在某些可能值内 如: where income in (1000,2000,3000)null:空*/ORDER BY;//用于对结果集按照一个列或者多个列进行排序,当其后跟有多列时,先按第一列排序,再按第二列....,默认情况为按升序排列,但可以进行修改,如 ORDER BY A ,B DESC; 按a的升序,b的降序排列

2.常见函数

1.字符函数concat:拼接举例:concat("aaa","bbb","ccc");返回:"aaabbbccc"substr:截取子串举例:substr("一二三四五六",1,5);返回:"一二三四五"upper:转换成大写举例:upper("AbcB");返回:"ABCB"lower:转换成小写同上trim:去前后指定的空格和字符举例:trim("  aaaa   ");返回:"aaaa"ltrim:去左边空格同上rtrim:去右边空格同上length:获取字节个数举例:length("1 2");返回:32.数学函数round:四舍五入举例:ROUND(4.3);返回:4rand: 随机产生介于0~1之间的数floor:向下取整举例:FLOOR(4.2);返回:4ceil:向上取整同上mod:取余举例:MOD(9.2,2.1);返回:0.8truncate:截断举例:TRUNCATE(7.12345678,3);返回:7.1233.流程控制函数IF(expr1,expr2,expr3):expr1为true,返回expr2,否则返回expr3IF   THENELSEIF   THENELSEEND IF;(与c语言if else语句基本相同)SELECT CASE 1WHEN 1 THEN 'one'WHEN 2 THEN 'two'ELSE 'other'END;(返回'one',与c语言switch语句基本相同)4.分组函数sum: 求和举例:SELECT SUM(column_name) FROM table_name;说明:求table_name表中,所有column_name的和max: 最大值同上min: 最小值同上avg: 平均值同上count: 计数举例:SELECT COUNT(income) AS nums FROM access_logWHERE site_id=3;说明:求access_log表中,site_id=3的人的工资之和,并存在nums中注意:1、以上五个分组函数都忽略null值,除了count(*)2、sum和avg一般用于处理数值型max、min、count可以处理任何数据类型3、都可以搭配distinct使用,用于统计去重后的结果4、count的参数可以支持:字段、*、常量值,一般放1

3.分组查询

	select 查询的字段,分组函数fromgroup by 分组的字段注意:1、可以按单个字段分组2、和分组函数一同查询的字段最好是分组后的字段3、分组筛选针对的表	位置			关键字分组前筛选:	原始表		group by的前面		where分组后筛选:	分组后的结果集	group by的后面		having4、可以按多个字段分组,字段之间用逗号隔开5、可以支持排序6having后可以支持别名

4.连接查询(多表查询)


1.分类:按年代:sq192标准:仅仅支持内连接sq199标准: 支持内连接+外连接(左外+右外)+交叉连接按功能分类:内连接:等值连接非等值连接自连接外连接:左外连接右外连接全外连接交叉连接2.sq192标准:SELECT 查询元素FROM 元素来自哪些表 AS 别名WHERE 查询条件,连接条件(不加连接条件会出现表与表之间的笛卡尔乘积)注意:如果为表取了别名。对元素进行限定只能通过别名根据where的条件区分等值连接,和非等值连接自己连接自己为自连接(为了方便区分,取别名)3.sq199标准:SELECT 查询元素FROM1 别名 (连接类型)JOIN2 ON 连接条件WHERE 筛选条件连接类型关键词 :内连接:inner外连接:左外:left outer(可省略)(join 左边的是主表)右外:right outer(join 右边的是主表)全外:full outer交叉连接:cross(迪达尔乘积)

5.子查询:出现在其他语句中的select语句,称为子查询或内查询

分类:按子查询出现的位置:select后面:标量子查询from后面:表子查询wherehaving后面:标量子查询,列子查询,行子查询⭐exists后面:表子查询按结果集进行查询标量子查询(结果集只有一行一列)列子查询(结果集一列多行)行子查询(结果集多行队列)表子查询(随意)wherehaving后面:1.标量子查询(单行子查询)通常在单行操作符后SELECT 元素1,元素2 FROMWHERE 元素2>SELECT 元素2FROM2WHERE 条件);2.列子查询(多行子查询)通常在多行操作符后:INNOT INANYSOMEALL SELECT 元素1,元素2 FROMWHERE 元素2 INSELECT 元素2FROM2WHERE 条件);3.行子查询(多行多列)SELECT 元素1,元素2 FROMWHERE (元素1,元素2) INSELECT 元素1,元素2FROM2WHERE 条件);特点:1.子查询放在小括号内2.子查询一般放在条件的右侧3.标量子查询一般搭配着单行操作符使用SELECT后的子查询:(子查询结果必须为11列)SELECT a.元素1 (SELECT b.元素2,b.元素1FROM2 bWHERE b.元素1=a.元素1)FROM1 a;

6.分页查询

	SELECT 元素FROM 表【join typejoin2on 连接条件WHERE 筛选条件group by 分组元素having 筛选条件order by 排序字段limit 起始位子,数量;起始位子从0开始

7.联合查询:将多条查询语句的结果合并成一个结果


SELECT 元素 FROMWHERE 条件
UNION ALL(all不去重)
SELECT 元素 FROMWHERE 条件注意:元素数必须相同会去重

安装教程
DML
DDL
TCL


在这里插入图片描述
                                                                                --某科学的超电磁炮


http://chatgpt.dhexx.cn/article/CkUf2B7T.shtml

相关文章

db.query的使用

首先假设有如下表格&#xff0c;表格名称为&#xff1a;"Employees" SQL基本格式如下&#xff1a; [sql] view plain copy print ? select 列名称 from 表名称 最基本SQL语句&#xff0c;就是从表中选取要返回的列数据&#xff0c;不加任何过滤条件。当然如果&qu…

Elasticsearch——Query DSL语法入门

Query DSL入门 官网介绍链接&#xff1a; https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html search api就是对存储在elastic search&#xff08;以下简称es&#xff09;中的数据进行查询的相关API&#xff0c;可以类比mysql中的select语句。…

Data Query Language(DQL):数据查询语言

Data Query Language&#xff08;DQL&#xff09;&#xff1a;数据查询语言 基础查询查询所有列查询指定列 条件查询条件查询介绍查询示例如下 模糊查询模糊查询介绍查询示例如下 字段控制查询排序聚合函数分组查询分页查询 建立三张表用于查询&#xff0c;表中数据如下。 stu表…

SpringDataJPA+QueryDSL玩转态动条件/投影查询

在本文之前&#xff0c;本应当专门有一篇博客讲解SpringDataJPA使用自带的SpecificationJpaSpecificationExecutor去说明如何玩条件查询&#xff0c;但是看到新奇、编码更简单易懂的技术总是会让人感到惊喜&#xff0c;而且QueryDSL对SpringDataJPA有着完美的支持。如果你没有使…

ES的Query DSL语句介绍

1、term 过滤 term主要用于精确匹配哪些值&#xff0c;比如数字&#xff0c;日期&#xff0c;布尔值或 not_analyzed 的字符串(未经切词的文本数据类型)&#xff1a; { "term": { "date": "2017-07-01" }} { "term": { "tit…

QueryDSL配置

QueryDSL配置 1&#xff1a;maven配置- <dependency><groupId>com.querydsl</groupId><artifactId>querydsl-jpa</artifactId><version>5.0.0</version></dependency><dependency><groupId>com.querydsl</gro…

Elasticsearch:DSL Query

Query DSL的分类 Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的查询类型包括&#xff1a; 查询所有&#xff1a;查询出所有的数据&#xff0c;一般测试用&#xff0c;例如&#xff1a;match_all&#xff0c;但有分页限制&#xff0c;一次20…

SpringBoot+Querydsl 框架,大大简化复杂查询操作

概述 本篇博客主要将介绍的是利用spring query dsl框架实现的服务端查询解析和实现介绍。 查询功能是在各种应用程序里面都有应用&#xff0c;且非常重要的功能。用户直接使用的查询功能往往是在我们做好的UI界面上进行查询&#xff0c;UI会将查询请求发给查询实现的服务器&a…

QueryDSL 关于Q类找不到的问题

先编译代码&#xff0c;如果是在idea中&#xff0c;光标移动到项目上&#xff0c;F4&#xff0c;让后如图操作 回到项目中编码&#xff0c;就可以找到Q类了

JPA 之 QueryDSL-JPA 使用指南

Querydsl-JPA 框架&#xff08;推荐&#xff09; 官网&#xff1a;传送门 参考&#xff1a; JPA整合Querydsl入门篇SpringBoot环境下QueryDSL-JPA的入门及进阶 概述及依赖、插件、生成查询实体 1.Querydsl支持代码自动完成&#xff0c;因为是纯Java API编写查询&#xff0…

使用spring data Querydsl 实现动态查询功能

Table of Contents 概述 定义查询请求 google-like查询 特定字段的类sql查询 使用Spring Data Querydsl 利用Spring Query DSL实现动态查询 实现过程中的难题 主表包含多个子表数据时的AND查询 概述 本篇博客主要将介绍的是利用spring query dsl框架实现的服务端查询解…

关于 QueryDSL 配置和使用(详细)

关于 QueryDSL 最近写项目&#xff0c;使用到了 Jpa 这个 ORM 规范支持&#xff0c;使用注解的方式实现 Sql &#xff0c;但是用过 Jpa 的同学都知道 Jpa 对于单表操作很灵活&#xff0c;但是对于复杂一些的 SQL 就是很不友好了&#xff0c;所以这个地方我们就用到了 QueryDSL…

Spring Boot配置QueryDSL(生成Query查询实体类,查询数据)

1 QueryDSL QueryDSL仅仅是一个通用的查询框架&#xff0c;专注于通过Java API构建类型安全的SQL查询。 Querydsl可以通过一组通用的查询API为用户构建出适合不同类型ORM框架或者是SQL的查询语句&#xff0c;也就是说QueryDSL是基于各种ORM框架以及SQL之上的一个通用的查询框架…

微信开发之服务号设置

服务号设置 公众号开发主要用到AppID AppSecret 以下操作前提是&#xff0c;服务号已认证 在开发基本设置里 设置开发者模式开启设置appSecret 需要管理员扫码设置ip白名单 需要管理员扫码服务器配置启用&#xff0c;填写服务器验证地址 在开发者工具&#xff0c;web开发者工具…

微信服务号开发

最近终于完成了团队微信服务号的开发&#xff0c;深深的喘了一口气&#xff0c;还记得在差不多10天前&#xff0c;我们几个为了参加学校服务外包大赛的队友一起讨论选题&#xff0c;最终确定了以微信为基底开发一个人力资源管理系统的微信公众平台&#xff0c;几天后&#xff0…

微信开发公众号

背景&#xff1a; 过年前后做了个微信公众号项目&#xff0c;已经过去一段时间了&#xff0c;抽空回忆总结下基本流程吧&#xff0c;不然很快估计自己就忘了。。 文章目录 一、注册公众号二、了解公众号管理页面三、必备开发者工具的使用1.开发者文档2.在线接口调试工具3.web开…

微信服务号Java开发(一)

发送模板消息 1. 服务器配置 解析&#xff1a;微信发送一个get请求&#xff0c;并携带4个参数&#xff1a;signature、timestamp、nonce、echostr。开发者需要验证该请求是否来源于微信&#xff0c;验证方法&#xff1a; 1&#xff09;将token、timestamp、nonce三个参数进行字…

微信公众号之接入微信公众号服务器开发(二)

说明&#xff1a;该篇博客是博主一字一码编写的&#xff0c;实属不易&#xff0c;请尊重原创&#xff0c;谢谢大家&#xff01; 接着上一篇博客继续往下写 &#xff1a;https://blog.csdn.net/qq_41782425/article/details/85319116 一丶叙述 开发说明 Python代码实现&…

教你3分钟快速开发微信公众号[订阅号][服务号]

Wx-tools是基于微信公众平台API的轻量级框架。 基于Wx-tools你可以开速开发一个订阅号/服务号的web应用后台。 博主最近终于有空&#xff01;&#xff01;已经更新到2.0.0啦&#xff01;&#xff01; GitHub仓库 下载wx-tools-2.0.0.jar wx-tools开发文档 大三做过几个基于…

微信公众号开发之配置开发服务器

微信公众号开发详细教程 微信公众号开发文档 需不需要开发服务器应该根据自己的业务需求来决定。如果你只是简单使用微信公众号&#xff0c;发送推文等简单需求&#xff0c;你就不需要的配置自己的开发服务器&#xff0c;微信公众号平台功能十分强大&#xff0c;不懂技术的用…