百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

软件测试员必看!数据库知识mysql查询语句大全

wptr33 2025-02-18 13:40 15 浏览

作为一名测试人,掌握数据库常用的操作不可缺少,下面就一段mysql 查询语句梳理几个相关语法知识。

本篇文章主要包括两方面内容

·常用的sql语法

·开发代码中如何和sql进行关联

案例代码:

`

select a.blastid,d.apptime,a.charge_approve,

a.blast_batch,

a.plan_blast_time,

a.exe_plan_id,

a.import_flag,

a.rig_type,.......

case when (select "count"(*) from bla_geology_info geo where a.blast_id=geo.blast_id and geo.delete_flag=0)>0

then 'true' else 'false'

END as isShowFlag

from bla_blast_info a

left join exe_plan_month b

on a.exe_plan_id = b.exe_plan_id

left join sys_user c

on a.dynamite_user = c.user_id

left join (select blast_id,isagree,idea,create_time as app_time from bla_charge_approve where delete_flag = '0') d

on a.blast_id = d.blast_id

WHERE a.blast_type = '1' AND a.blast_status > '3' AND a.blast_status < '8' AND a.charge_approve > '1' AND a.delete_flag = '0' ORDER BY cast(a.charge_approve as numeric) ASC , d.app_time DESC , a.create_time DESC

`

一 常用的sql语法

1.查询语句 select xxxx from 表名 ,表示从哪个表进行查询。其中select 后面内容以,分割。

2. select xxxx from 表名 别名,表示这个表用别名替代,如上个语句中的a,b,c等

3.case when then xx,else xxx ,end as isShowFlag表示符合when 条件执行 then 后面语句,否则执行else 后面语句,

eg 案例中case when (select "count"(*) from blageologyinfo geo where a.blastid=geo.blastid and geo.delete_flag=0)>0

then 'true' else 'false' 表示符合条件的爆破量进行上传

end as isShowFlag 起的查询语句别名,后续调用的时候 使用别名名称即可。

4.left join 左连接 ,表1左连接表2,以左为主,表示以表1为主,关联上表2的数据,查出来的结果显示左边的所有数据,然后右边显示的是和左边有交集部分的数据。

一句话的意思是 先取交集,再关联到左表。

引申整理出几个连接的常用含义及区分 ,如下表所示:

5.查询语句 select xxxx from 表名 where 查询条件

where 查询条件后面接所有你要查询的内容,用and连接,这里需要注意order by 使用

order by 1,2,3,4 ,先1排序,1相同的情况下按照2,3,4排序

6. cast ()数据类型转换函数,文中cast(a.charge_approve as numeric) 表示将字段charge_approve 转换为数字型,以前是字符类型,字符类型的字段不可以进行排序

7. a.exe_plan_id = b.exe_plan_id 表示 a表的exe_plan_id字段和b表的exe_plan_id 字段进行绑定,可以这么理解 只有两个表绑定后才能进行相关的查询操作。

总结通用模板:

Select 字段名1,字段名2 case when 条件 then 执行语句 else 执行语句 end as 别名 from 表名 别名 left join on 表连接(a.exe_plan_id = b.exe_plan_id)

Where 查询条件(d.app_time DESC)

二 开发代码中如何和sql进行关联

开发逻辑中有一个词‘mapper映射’,里面具体的实现不做过多赘述。

简单点的逻辑是:

用xml文件 将sql 语句的名称 和 实体名称一一映射,通过这种形式进行绑定,然后在代码中引用映射的文件名,从而实现数据查询。

上面我们通过一段sql 语句列举了 mysql 常用的语法,以及sql语句编写完成后 如何在代码中进行使用的。

最后:

1)关注+私信回复:“测试”,可以免费领取一份10G软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Mysql数据库、抓包工具、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试等。

2)关注+私信回复:"入群" 就可以邀请你进入软件测试群学习交流~~

相关推荐

威信Chronosonic XVX全新旗舰全球首发 设计特点彻底公开

第一眼看到WilsonAudio新推出的ChronosonicXVX音箱,相信大家都会直觉认为它是两年前超级旗舰WAMMMasterChronosonic的缩小版,不过这个推测并不完全正确。C...

C#高精度Timer和Delay以及时间测量

在PCHMI7.0后在工具箱里会多一个MsTimer,以及Delay和Microsecond两个类。...

python教程从基础到精通,第9课—日期与时间

Hello,小伙伴们,祝大家五.一玩得快乐!刚学习完了七大数据类型,今天咱们来学习日期与时间的表示方法。Python标准库中提供了时间和日期的支持:calendar:日历相关;time、datetim...

软件测试|教你轻松玩转Python日期时间

Python基础之日期时间处理...

Go语言中互斥锁与读写锁,你知多少?

简述Golang中的锁机制主要包含互斥锁和读写锁互斥锁互斥锁是传统并发程序对共享资源进行控制访问的主要手段。在Go中主要使用sync.Mutex的结构体表示。一个简单的示例:funcmutex()...

变形金刚动画大电影——经典台词赏析

YOURDAYSARENUMBEREDNOW,DECEPTI-CREEPS你们活不了多久了,霸天虎小子。-{铁皮说的话,体现了铁皮的嫉恶如仇,可是后来铁皮在飞船上遇袭身亡,可谓是出师未捷身先...

Python时间日期模块使用教程(python3日期)

1.时间日期处理概述在日常编程中,时间日期处理是非常常见的需求,比如:记录日志时间...

亚马逊介绍AWS“无服务器”云服务改进:数据库可线上扩充容量等

IT之家11月29日消息,在今天于美国拉斯维加斯展开的亚马逊“AWSre:Invent2023”活动中,亚马逊计算部门资深副总裁PeterDeSantis,介绍了旗下三款云端服务,IT...

2.日期格式 datetime(日期时间显示格式)

fromdatetimeimportdatetime1.获取当前日期和时间now=datetime.now()#2025-05-3110:56:01.4687822.格式化日期...

【科普】时间单位大盘点(时间单位都有哪些?)

时间单位,是7种基本单位之一,长度、时间、质量、物质的量、光照度、电流和(热力学)温度是七种基本单位。本词条中时间单位以时间从大到小列。今天我们来盘点下时间的单位换算...

基于PHP的Laravel框架,盘点Github高星Web管理后台,效率为王!

在Web开发工作中,选择一个高效、稳定的后台管理系统是提高开发效率的关键。虽然PHP在近些年中的热度有所减退,但其上手简单、开源、灵活且被广泛应用的特点,仍然使其在编程语言排行榜中保持前十的位置。这表...

如何使用PHP编写一个简单的留言板?

留言板是一个常见的Web应用程序,允许用户在网站上发布和查看留言。在本文中,我们将使用PHP编写一个简单的留言板,介绍构建过程中的关键步骤和技巧。一、准备工作在开始编写留言板之前,我们需要准备好以下工...

产品经理提需求时要考虑的 15 个隐性需求

虽然世界充满未知的变化,但是有一些大的方向还是可以把握的,本文跟大家谈谈产品经理提需求时要考虑的15个隐性需求,enjoy~俗话说,计划赶不上变化快,无论需求文档做得如何细致,考虑得如何周全,总会...

关于 PHP 启动 MongoDb 找不到指定模块问题

前言:最近有一个小demo,需要通过PHP将用户行为记录储存到MongoDB,再用Spark做协同过滤。由于以前处理跨语言交互是通过消息中间件,这次本地使用MongoDB却弄出了几个问...

PHP程序员老鸟面试经历(php程序员怎么样)

在任何时代找任何工作都有面试这么一说的。特别是高端技术类的工种对技术理论和技术实操能力要求很严格。大部分公司招收技术员工的要求也越来愈高。至于PHP程序员也是如此,我估计大多数PHP老鸟已经不在意所...