关于sql语句的一些整理(下)
来源:互联网 发布:免费的看书软件 编辑:程序博客网 时间:2024/05/29 09:21
一,Sql修改多个参数,批量修改
普通sql写法:
update tablename set name="hehe" where id in('1','2'....);
mybatis中的写法:
update t_ibss_role
set
delflag = 0
where 1=1
and id in
<foreach item="item" index="index" collection="array" open="(" separator="," close=")">
#{item}
</foreach>
anddelflag = 1
mybatis的批量更新
<update id="batchUpdate" parameterType="java.util.List">
<foreach collection="list" item="item" index="index" open="" close="" separator=";">
update test
<set>
test=${item.test}+1
</set>
where id = ${item.id}
</foreach>
</update>
二,批量插入,使用mybatis
<insert id="batchSave" parameterType="java.util.List">
insert into t_crm_zcls(
id,
jymoney,
yhId,
jyglb,
jygldh,
createuser
) values
<foreach collection="list" item="item" index="index" separator="," >
(#{item.id},#{item.jymoney},#{item.yhId},#{item.jyglb},#{item.jygldh},#{item.createuser})
</foreach>
</insert>
三,sql语句,两个或者多个表联合起来查询,查询出来的数据接在下面 关键字 union all ,union
SELECT id FROM tablename
UNION ALL
SELECT id FROM tablename
说明:
Union all 就是把2个具有相同列及数据类型的 结果 放到一起显示,并且不去重。
union 把数据结构相同的两个表合并成一个表,相同的数据合并成一条。
四,mybatis的<![CDATA[<=]]>
一:使用<![CDATA[<=]]>进行大于小于操作
在标记CDATA下,所有的标记、实体引用都被忽略,而被XML处理程序一视同仁地当做字符数据看待,CDATA的形式如下:
<![CDATA[文本内容]]>
CDATA的文本内容中不能出现字符串“]]>”,另外,CDATA不能嵌套。
二:使用特定符号
五,mysql查询某个字段的数据拼接
SELECT GROUP_CONCAT(qyname) qyname FROM `t_crm_qy` WHERE id IN ('0000132016112210051952','000013201611221008184b')
查询结果:龙华新区,宝安区六,批量插入数据库:
PreparedStatement pstmt = null;
try {
pstmt=conn.prepareStatement("insert into data_content values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
for(DataContent dt:dts){
pstmt.setInt(1, dt.getId());
pstmt.setString(2, dt.getSymbol());
pstmt.setBigDecimal(3, dt.getLastTrade());
pstmt.setBigDecimal(4, dt.getChanges());
pstmt.setString(5, dt.getChg());
pstmt.setBigDecimal(6, dt.getAmplitude());
pstmt.setLong(7, dt.getVolume());
pstmt.setLong(8, dt.getTurnover());
pstmt.setBigDecimal(9, dt.getPrevClose());
pstmt.setBigDecimal(10, dt.getOpenRange());
pstmt.setBigDecimal(11, dt.getMaxRange());
pstmt.setBigDecimal(12, dt.getMinRange());
pstmt.setString(13,dt.getTimeRange());
pstmt.setTimestamp(14, dt.getInsertTime());
pstmt.addBatch();
}
pstmt.executeBatch();
} catch (SQLException e) {
e.printStackTrace();
}finally{
try{
if(pstmt!=null)
pstmt.close();
}catch(Exception e){
e.printStackTrace();
}
}
七,统计数据表中,每个月的总记录数。
SELECT YEAR(createtime) AS YEAR,
MONTH(createtime) AS MONTH,
COUNT(createtime) AS sun_total
FROM t_crm_yh
GROUP BY YEAR(createtime),
MONTH(createtime)
八,Mysql字符串的截取,关键字 locate ,leef
SELECT tcname FROM `t_crm_tc` WHERE (LEFT(tcname,LOCATE('m',tcname)-1)>2)
- 关于sql语句的一些整理(下)
- 关于sql语句的一些整理(上)
- 一些有用的sql语句整理
- 关于oracle常用语句的一些整理
- 收集整理的一些有用的SQL/T-SQL语句!
- 关于sql的一些整理笔记
- 关于sql语句的一些操作 行列转换(转)
- 关于删除重复数据的一些sql语句(总结)
- 关于SQL语句的一些细节
- 关于sql 语句的一些总结
- 关于数据表的一些SQL语句
- oracle关于权限的一些sql语句
- 关于sql语句的一些说明
- 关于一些sql语句的用法
- MYSQL下SQL的一些整理
- MYSQL下SQL的一些整理
- MySQL的一些常用的SQL语句整理
- 自己整理的一些简单sql语句 供初学者复习
- IMWeb提升营Day1
- 关于Isght画相关图的使用说明
- Adaboost的几个人脸检测网站
- Docker 使用总结
- springMVC学习笔记
- 关于sql语句的一些整理(下)
- 1045. 快速排序(25)
- C++----局部静态对象和函数
- (95)宏库UI
- 软件架构模板
- Linux_Nginx 安装笔记
- curl 调用接口报错 Protocol http not supported or disabled in libcurl
- android中如何实现进入一个界面不做任何动作过10秒钟(有操作从新计时)自动跳转到待机activity,点击待机界面回到原来的界面
- 龙芯推出新一代处理器 离Intel还有多大差距