SQL的那些事
文章平均质量分 60
星狗、
日常端茶倒水、佛系码农。
展开
-
mybatis中bind标签和concat的使用
首先,二种方式都可以用来模糊查询,都能预防 SQL 注入。但是在更换数据库情况下,bind标签通用。<if test=” userName!= null and userName!=””>and userName like concat('%' ,#{userName},'%')</if>使用concat函数连接字符串,在mysql中这个函数支持多个参数...原创 2019-11-07 16:14:28 · 1261 阅读 · 0 评论 -
SQL语句嵌套正则表达式,实现条件判断
上次公司的一个需求,让我从新认识了SQL语句的多样化。通过将正则表达式当成字符串写到SQL中,达到条件的判断。select provider_code, asset_id from t_iepg_asset twhere regexp_like(t.asset_id,'^RC.[0-9].{4}') and substr(t.provider_code, 0, 6) = subs...原创 2019-03-18 14:30:52 · 1581 阅读 · 0 评论 -
SQL之统计某一状态数量
由于公司业务需要,需要查询出不同状态下的设备数量:用常规方法,则有多少种状态则需要写多少个SQL。现在用聚合函数,实现一条SQL查询出表中不同状态的设备数量。<!--查询当前设备类型下设备统计--><select id="getDeviceCountByType" parameterType="com.coship.common.dto.ds.DeviceQuantity...原创 2019-03-18 15:06:37 · 4417 阅读 · 0 评论 -
insert 动态添加
<insert id="addBook" useGeneratedKeys="true" keyProperty="id" parameterType="Book"> insert into book(name,author,publish,publishdate <include refid="getT...原创 2019-03-18 15:38:43 · 750 阅读 · 0 评论 -
mybatis 批量新增、修改
在公司项目开发中,遇到批量数据插入或者更新,因为每次连接数据库比较耗时,所以决定改为批量操作,提升效率。经测试,一共1662条数据,批量插入用时466ms,循环单独插入用时1898ms。可以批量操作效率高很多。1:数据库连接代码中必须开启批量操作。加上这句,&allowMultiQueries=true,完整的如下:jdbc:mysql://localhost:3306/jee...原创 2019-03-18 16:21:01 · 1270 阅读 · 0 评论 -
mybatis exists 和in 的效率比较
这条语句适用于a表比b表大的情况select * from ecs_goods a where cat_id in(select cat_id from ecs_category);这条语句适用于b表比a表大的情况select * from ecs_goods a where EXISTS(select cat_id from ecs_category b where a.cat_id =...原创 2019-03-25 17:46:21 · 4944 阅读 · 0 评论 -
字符串函数:FIND_IN_SET()使用方法
语法:FIND_IN_SET(str,strlist)第一个参数str是要查找的字符串。 第二个参数strlist是要搜索的逗号分隔的字符串列表。假如字符串str 在由N 子链组成的字符串列表strlist 中,则返回值的范围在 1 到 N 之间。一个字符串列表就是一个由一些被‘,’符号分开的子链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列...原创 2019-03-28 18:15:27 · 1489 阅读 · 0 评论 -
UNION 和 UNION 的使用
SQL UNION 操作符UNION 操作符用于合并两个或多个 SELECT 语句的结果集。请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。SQL UNION 语法SELECT column_name(s) FROM table_name1UNIONSELECT column_...原创 2019-03-28 18:33:46 · 352 阅读 · 0 评论 -
sql按年、季度、月统计实现
#按年统计SELECT SUM(browseNum) AS browseNum, COUNT(*) AS sheets FROM sbsm_count_picture GROUP BY DATE_FORMAT(DATE, '%Y');#按月统计SELECT SUM(browseNum) AS browseNum,SUM(downloadNum) AS downloadNum,SUM(telB...原创 2019-09-03 14:23:38 · 5558 阅读 · 0 评论