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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 谈谈你对map的理解_java中map遍历

    谈谈你对map的理解_java中map遍历摘要:  HashMap是Map族中最为常用的一种,也是JavaCollectionFramework的重要成员。本文首先给出了HashMap的实质并概述了其与Map、HashSet的关系,紧接着给出了HashMap在JDK中的定义,并结合源码分析了其四种构造方式。最后,通过对HashMap的数据结构、实现原理、源码实现三个方面的剖析,深入到它底层Hash存储机…

    2025年9月3日
    8
  • JetBrains Fleet 初体验

    JetBrains Fleet 初体验几天前获得了fleet的体验资格。长话短说,今天就来和你一起看看现在的fleet都有啥先看名字–fleet什么是fleet?n.舰队;捕鱼船队;(一国的)全部军舰,海军看来,JetBrains是想让”OneIDEtocodeitall.”的口号落实,真正的实现一人成军。配合它自带的Distributedmode,前端后端统一管理。或许真正的Monorepo就会来临?再看图标铁灰色底座配合缺了两个缺口和天空蓝淡紫渐变的圆球主体,我猜它…抱歉我看不懂,于是我当场质问了JetBra.

    2022年6月14日
    83
  • CICD介绍「建议收藏」

    CICD介绍「建议收藏」CICD一概要CICD的采用改变了开发人员和测试人员如何发布软件最初是瀑布模型,后来是敏捷开发,现在是DevOps,这是现代开发人员构建出色的产品的技术路线。随着DevOps的兴起,出现了持续集成(ContinuousIntegration)、持续交付(ContinuousDelivery)、持续部署(ContinuousDeployment)的新方法。传统的软件开发和…

    2022年5月16日
    47
  • 闫学灿acwing_用标号法求网络最大流

    闫学灿acwing_用标号法求网络最大流给定一个包含 n 个点 m 条边的有向图,并给定每条边的容量,边的容量非负。图中可能存在重边和自环。求从点 S 到点 T 的最大流。输入格式第一行包含四个整数 n,m,S,T。接下来 m 行,每行三个整数 u,v,c,表示从点 u 到点 v 存在一条有向边,容量为 c。点的编号从 1 到 n。输出格式输出点 S 到点 T 的最大流。如果从点 S 无法到达点 T 则输出 0。数据范围2≤n≤1000,1≤m≤10000,0≤c≤10000,S≠T输入样例:7 14 1 71 2

    2022年8月10日
    13
  • python学习——pandas查看数据集null值:isnull

    python学习——pandas查看数据集null值:isnull在数据集中,可能有些字段下会有null值,我们在进行数据处理的时候,不能视而不见,可以使用isnull查看是否有空值In:all_dummy_df.isnull().sum().sort_values(ascending=False).head(10)Out:LotFrontage486GarageYrBlt159MasVnrArea23…

    2022年10月20日
    5
  • 10分钟就能学会,Linux操作系统21个shell常用命令

    10分钟就能学会,Linux操作系统21个shell常用命令目录一、shell的基本形式1.shell的种类:sh、bash、csh、tcsh、ash等。(1).shshell(2).cshshell(3).tcshshell(4).ashshell(5).bashshell2.shell命令的基本格式3.注意1.Linux严格区分大小写,aA不同2.使用分号(;)一行中输入多个命令。3.按下Table键,自动补齐命令、目录或文

    2022年10月17日
    4

发表回复

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

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