数据库
菠萝冰飞冰
Java代码搬运工一枚,写博客记录下自己的学习工作遇到的问题和总结,望大佬们指点
展开
-
查询是否存在记录的两种SQL写法
经常会有需求,当存在满足某某条件的记录的时候,做操作1,否则操作2所以我们要查询数据库中是否有满足相应条件的数据总结了两种方式去做这个查询1、第一种方式 使用countSELCET COUNT(*) FROM tb WHERE a = "a" AND b = "b"2、第二种方法 使用limitSELECT 1 FROM tb WHERE a = "a" AND b= "b" LIMIT 1第二种方法区别在于,找到一条满足条件的数据就结束。相对来说,如果数据量比较少,使用第一种方法更快,如原创 2020-07-16 15:39:42 · 1316 阅读 · 0 评论 -
mybatis 把Integer类型的数据为0时条件查询不正确
今天遇到一个坑,就是在做条件查询的时候,根据任务的状态查询的时候,如果任务的状态是0,我们在写mybatis查询语句的时候一般这样写<if test="taskListQuery.taskStatus != null and taskListQuery.taskStatus != '' ">乍一看没有问题,但是在查询的时候,查询的状态是0查询的结果却还是有状态为1的数据,所以上面的mybatis的判断应该不正确,首先肯定不等于null,那有问题的只能是taskStatus=’’。查看资原创 2020-07-02 15:27:11 · 457 阅读 · 0 评论 -
Sql Explain语法各个字段的意义
explain语法有助于帮助我们了解sql执行的顺序,效率,是分析sql的利器。explain的字段非常多,我做了一个图来作为记录原创 2020-06-17 17:59:48 · 267 阅读 · 0 评论 -
mysql like模糊查询时转义通配符
由于昨晚时间管理的关系,早上又被无情的闹钟叫了起来,身体无比的困倦,于是想着早上划划水算了。正当吃着早餐刷着手机的时候,测试突然提了个bug过来,参数过滤功能没有起作用!!!放下手机后看了一下bug,发现过滤的条件是"aaa_",想起我们的过滤就是简单的模糊查询,也就是 %输入的字符串% 。然后这里输入了aaa_,那么后台查询是条件是 %aaa_% ,因为下划线是通配符,所以过滤条件就跟**%aaa%**是一样的了。原因找到了,通配符!!我们都知道,sql中的like语法是模糊查询,而模糊查询中又有原创 2020-05-12 14:58:41 · 2669 阅读 · 0 评论