python executemany的使用及注意事项


Posted in Python onMarch 13, 2017

使用executemany对数据进行批量插入的话,要注意一下事项:

#coding:utf8
conn = MySQLdb.connect(host = “localhost”, user = “root”, passwd = “123456”, db = “myDB”)
cursor = conn.cursor()
sql = “insert into myTable (created_day,name,count) values(%s,%s,%s) ON DUPLICATE KEY UPDATE count=count+values(count)”
args=[("2012-08-27","name1",100),("2012-08-27","name1",200),("2012-08-27","name2",300)]
try:
  cursor.executemany(sql, args)
except Exception as e:
  print0(“执行MySQL: %s 时出错:%s” % (sql, e))
finally:
cursor.close()

conn.commit()

conn.close()

这里args是一个包含多个元组的数组,每个元组对应mysql当中的一条数据,注意这里的created_day对应的%s没有引号。这里推测executemany自己首先对sql语句进行正则匹配%s然后在此基础上,对字符串进行嵌入处理,如果这里%s加上引号的话,插入mysql当中会出现”0000-00-00″类型的错误日期。

如果一次性要插入很多条数据的话,在这里强烈 推荐使用executemany,从自己体会来讲,一条一条的insert需要2-3个小时时间的数据插入,使用executemany只需要2-3秒!!!

在这里executemany和ON DUPLICATE KEY UPDATE联合使用的时候如果按照sql常规模式,即:sql=”insert into myTable (created_day,name,count) values(%s,%s,%s) ON DUPLICATE KEY UPDATE count=count+%s”会报bug:not all arguments converted during string formatting

以上所述是小编给大家介绍的python executemany的使用及注意事项,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python 开发Activex组件方法
Nov 08 Python
python中使用pyhook实现键盘监控的例子
Jul 18 Python
Python中的index()方法使用教程
May 18 Python
Python实现新浪博客备份的方法
Apr 27 Python
python 循环读取txt文档 并转换成csv的方法
Oct 26 Python
django多文件上传,form提交,多对多外键保存的实例
Aug 06 Python
线程安全及Python中的GIL原理分析
Oct 29 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
Nov 27 Python
使用python动态生成波形曲线的实现
Dec 04 Python
浅谈TensorFlow之稀疏张量表示
Jun 30 Python
基于Python爬取51cto博客页面信息过程解析
Aug 25 Python
Tensorflow与RNN、双向LSTM等的踩坑记录及解决
May 31 Python
Python的标准模块包json详解
Mar 13 #Python
python中pandas.DataFrame排除特定行方法示例
Mar 12 #Python
Python中functools模块函数解析
Mar 12 #Python
python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)
Mar 12 #Python
Python中str.format()详解
Mar 12 #Python
python中pandas.DataFrame对行与列求和及添加新行与列示例
Mar 12 #Python
Python中关键字nonlocal和global的声明与解析
Mar 12 #Python
You might like
解析centos中Apache、php、mysql 默认安装路径
2013/06/25 PHP
ThinkPHP验证码使用简明教程
2014/03/05 PHP
js基于qrcode.js生成二维码的方法【附demo插件源码下载】
2016/12/28 PHP
通过身份证号得到出生日期和性别的js代码
2009/11/23 Javascript
javascript天然的迭代器
2010/10/29 Javascript
js中的时间转换—毫秒转换成日期时间的示例代码
2014/01/26 Javascript
Jquery设置attr的disabled属性控制某行显示或者隐藏
2014/09/25 Javascript
javascript简单实现图片预加载
2014/12/03 Javascript
论Bootstrap3和Foundation5网格系统的异同
2016/05/16 Javascript
页面向下滚动ajax获取数据的实现方法(兼容手机)
2016/05/24 Javascript
基于Bootstrap实现下拉菜单项和表单导航条(两个菜单项,一个下拉菜单和登录表单导航条)
2016/07/22 Javascript
JS使用正则截取两个字符串之间的字符串实现方法详解
2017/01/06 Javascript
echarts学习笔记之图表自适应问题详解
2017/11/22 Javascript
JS简单获得节点元素的方法示例
2018/02/10 Javascript
vue element-ui table表格滚动加载方法
2018/03/02 Javascript
简单明了区分escape、encodeURI和encodeURIComponent
2018/05/26 Javascript
详解性能更优越的小程序图片懒加载方式
2018/07/18 Javascript
Vue CLI3 如何支持less的方法示例
2018/08/29 Javascript
vuejs数据超出单行显示更多,点击展开剩余数据实例
2019/05/05 Javascript
Nuxt v-bind绑定img src不显示的解决
2019/12/05 Javascript
微信小程序如何通过用户授权获取手机号(getPhoneNumber)
2020/01/21 Javascript
基于javascript实现放大镜特效
2020/12/03 Javascript
js调用网络摄像头的方法
2020/12/05 Javascript
详解Typescript里的This的使用方法
2021/01/08 Javascript
Python 闭包的使用方法
2017/09/07 Python
用Pygal绘制直方图代码示例
2017/12/07 Python
浅谈Python在pycharm中的调试(debug)
2018/11/29 Python
python+ffmpeg批量去视频开头的方法
2019/01/09 Python
python解压TAR文件至指定文件夹的实例
2019/06/10 Python
Python3常用内置方法代码实例
2019/11/18 Python
美国办公用品折扣网站:Shoplet.com
2019/11/24 全球购物
诺思信科技(南京)有限公司.NET笔试题答案
2013/07/06 面试题
公司行政经理岗位职责
2013/12/24 职场文书
初中班主任心得体会
2016/01/07 职场文书
毕业季聚会祝酒词!
2019/07/04 职场文书
如何用Node.js编写内存效率高的应用程序
2021/04/30 Javascript