mysql批量新增数据_批量更新sql语句

mysql批量新增数据_批量更新sql语句背景业务中存在唯一索引,插入的批量数据中可能存在已有数据,此时可用一条sql快速完成,无需写业务判断。原始sql#其中stock_id,date为唯一所以insertintomart_kline(stock_id,red_red_rate,red_green_rate,date)values(‘stockId1′,0.5,1.0,’2021-12-19’), (‘stockId2′,0.51,1.2,’2021-12-20’), (‘stockId3’,0

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

背景

业务中存在唯一索引,插入的批量数据中可能存在已有数据,此时可用一条sql快速完成,无需写业务判断。

原始sql

# 其中stock_id, date为唯一所以
insert into mart_kline(stock_id, red_red_rate, red_green_rate, date)
values ('stockId1', 0.5, 1.0, '2021-12-19'),
		('stockId2', 0.51, 1.2, '2021-12-20'),
	  	('stockId3', 0.52, 1.3, '2021-12-21')
on duplicate key 
update red_red_rate=values(red_red_rate),
		 red_green_rate=values(red_green_rate)

mybatis写法

<insert id="serversInsertOrUpdate" useGeneratedKeys="true" keyProperty="id">
        insert into mart_kline(stock_id, red_red_rate, red_green_rate, date)
		values <foreach collection="servers" separator="," item="server">
            (
            #{server.stockId},#{server.red_red_rate},#{server.red_red_rate},#{server.date}
            )
        </foreach>
        on duplicate key 
        update red_red_rate=values(red_red_rate),
		 red_green_rate=values(red_green_rate)
    </insert>

python

sql_kline = 'insert into mart_kline(stock_id, day_line_5, day_line_10, day_line_20, day_offset_5, day_offset_10, ' \
            'day_offset_20, red_red_rate, red_green_rate, date)' \
            'values (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) ' \
            'on duplicate key update red_red_rate=values(red_red_rate), red_green_rate=values(red_green_rate)'
cur.executemany(sql_kline, kline)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188335.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • CAP理论详解

    CAP理论详解CAP理论在互联网界有着广泛的知名度,知识稍微宽泛一点的工程师都会把其作为衡量系统设计的准则。大家都非常清楚地理解了CAP:任何分布式系统在可用性、一致性、分区容错性方面,不能兼得,最多只能得其二,因此,任何分布式系统的设计只是在三者中的不同取舍而已。事实上,让人吃惊的是,CAP在国外的响力完全不如所想,相反还伴随着诸多的争论。下面我们系统地阐述一下CAP的来龙去脉。1.CAP的历史1985年Ly…

    2022年6月23日
    37
  • Qt获得焦点和失去焦点处理事件 (Focus事件)

    Qt获得焦点和失去焦点处理事件 (Focus事件)方法一:描述:一开始我要实现的目的就是,在一个窗体上有多个可编辑控件(比如QLineEdit、QTextEdit等),当哪个控件获得焦点,哪个控件的背景就高亮用来起提示作用,查了下文档应该用focusInEvent()和focusOutEvent(),在实际过程中,我犯了十分严重的错误,最开始的时候我是这样做的:我重写了窗体QWidget的这两个函数,然后再在函数体中把QFocusEve

    2022年6月15日
    170
  • python截图识别文字_python截图并转换文字「建议收藏」

    python截图识别文字_python截图并转换文字「建议收藏」截图识别文字作者万开国[acewan]【摘要】本文主要介绍了使用pyHook、pythoncom、pytesseract、PIL、win32api等module实现python的截图识别文字功能。【正文】一准备及介绍1.pyhookpyHook通过pip直接安装比较困难,可以先下载whl文件再使用pip安装选择与python环境一致的文件下载,使用cmd导向到下载文件夹,执行安装即可其他modul…

    2022年4月30日
    65
  • 多服务器共享session的方法

    多服务器共享session的方法伴随网站业务规模和访问量的逐步发展,原本由单台服务器、单个域名的迷你网站架构已经无法满足发展需要。此时我们可能会购买更多服务器,并且启用多个二级子域名以频道化的方式,根据业务功能将网站分布部署在独立的服务器上;或通过负载均衡技术(如:DNS轮询、Radware、F5、LVS等)让多个频道共享一组服务器。OK,头脑中我们已经构思了这样的解决方案,不过进入深入开发后新的技术问题又随之…

    2022年6月13日
    28
  • idea的mybatis插件不联网可以使用吗_idea特效插件

    idea的mybatis插件不联网可以使用吗_idea特效插件IDEA的Mybatis插件idea不支持xml和映射器接口之间的跳转安装插件:FreeMybatisplugin使用指路:https://www.jianshu.com/p/4f1c2600802c

    2022年10月7日
    0
  • jvm-08.jvm调优工具Arthas[通俗易懂]

    jvm-08.jvm调优工具Arthas[通俗易懂]jvm调优工具Arthas阿尔萨斯官方文档https://arthas.aliyun.com/doc/下载curl-Ohttps://arthas.aliyun.com/arthas-boot.jar启动java-jararthas-boot.jarFullGC_Problem01是我们刚启动的java进程importjava.math.BigDecimal;importjava.util.ArrayList;importjava.util.Date;import

    2022年5月31日
    32

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号