oracle批量insert多条_100%让你在10分钟内学会如何用python将数据批量的插入到数据库

本文介绍了如何使用Python和pandas高效地批量插入数据到Oracle数据库。通过读取文件、计算处理、转换数据格式,利用pymysql的executemany接口实现数据的批量入库,降低数据库压力并提高程序效率。
摘要由CSDN通过智能技术生成

我是一名挣扎在编程链底端的pythoner,工作中既要和数据打交道,也要保持和erp系统,web网站友好的"沟通"···,我会时不时的分享下工作中遇到那点事,包括个人觉得值得记录的编程小技巧,还有就是遇到的问题以及解决方案,还有源码的阅读等等,可能也有编程中的生活感悟,不说了,我要去重构我的程序了

9789e6bca533d154698c5194fb51943d.png

本文基于python, 使用pandas, pymysql等三方库实现了向数据库中高效批量插入数据,一方面提供被网上很多瞎转载的答案给坑蒙了的人(因为我也是),一方面自己也做个笔记,以后方便查阅

需求原因

最近在处理一个需求,有关批量往数据库插入数据的,描述如下

  • 原来的程序是基于sql的存储过程进行数据的更新修改操作,由于数据量较大,导致对数据库压力太大,于是需要将程序重构为用python读取文件的方式将数据做计算处理,减少这部分的压力,最后仅仅将计算的结果调用aws的lambda服务重新更新到数据库中就可以了,减少了极大的压力,也降低了成本。涉及数据库主要是插入及更新操作

版本库信息

基于linux系统写的

三方库 >>> pandas 1.0.5, pymysql 0.9.3

python版本 >>> 3.7

标准库 >> os

逻辑梳理

实际上,最后一步,要写入数据库的文件数据是存储在内存中的。因为读取文件后进行的计算都是在内存中进行的,那么计算的结果也没必要再写到本地,再去读取,再写入数据库,这是会影响程序的效率的。逻辑如下

  • 读取文件
  • 文件的拼接及计算,生成新的df
  • 初始化数据库的连接
  • 将df所需数据转换为元组数据(取决于数据库的三
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值