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中用has_key()方法查找键是否存在的教程
May 21 Python
python实现爬取千万淘宝商品的方法
Jun 30 Python
python实现12306火车票查询器
Apr 20 Python
python 动态加载的实现方法
Dec 22 Python
详解django中使用定时任务的方法
Sep 27 Python
解决python 读取 log日志的编码问题
Dec 24 Python
利用Vscode进行Python开发环境配置的步骤
Jun 22 Python
详解python方法之绑定方法与非绑定方法
Aug 17 Python
Python字符串的15个基本操作(小结)
Feb 03 Python
python常量折叠基础知识点讲解
Feb 28 Python
python实现高效的遗传算法
Apr 07 Python
利用Python脚本写端口扫描器socket,python-nmap
Jul 23 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
JS与PHP向函数传递可变参数的区别实例代码
2011/05/18 PHP
destoon调用discuz论坛中带图片帖子的实现方法
2014/08/21 PHP
PHP性能分析工具XHProf安装使用教程
2015/05/13 PHP
Laravel框架搜索分页功能示例
2019/02/01 PHP
初识javascript 文档碎片
2010/07/13 Javascript
jquery多行滚动/向左或向上滚动/响应鼠标实现思路及代码
2013/01/23 Javascript
extjs_02_grid显示本地数据、显示跨域数据
2014/06/23 Javascript
JS网页在线获取鼠标坐标值的方法
2015/02/28 Javascript
简介alert()与console.log()的不同
2015/08/26 Javascript
angularjs学习笔记之双向数据绑定
2015/09/26 Javascript
js手动播放图片实现图片轮播效果
2016/09/17 Javascript
webpack学习笔记之优化缓存、合并、懒加载
2017/08/24 Javascript
vue2中的keep-alive使用总结及注意事项
2017/12/21 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
2018/08/28 Javascript
JS+HTML5 Canvas实现简单的写字板功能示例
2018/08/30 Javascript
原生js+canvas实现下雪效果
2020/08/02 Javascript
Vue使用v-viewer实现图片预览
2020/10/21 Javascript
vue 如何从单页应用改造成多页应用
2020/10/23 Javascript
[03:04]DOTA2英雄基础教程 影魔
2013/12/11 DOTA
跟老齐学Python之dict()的操作方法
2014/09/24 Python
Django如何自定义model创建数据库索引的顺序
2019/06/20 Python
python3中for循环踩过的坑记录
2020/12/14 Python
matplotlib源码解析标题实现(窗口标题,标题,子图标题不同之间的差异)
2021/02/22 Python
用canvas画心电图的示例代码
2018/09/10 HTML / CSS
美国糖果店:Sugarfina
2019/02/21 全球购物
DOUGLAS波兰:在线销售香水和化妆品
2020/07/05 全球购物
小学生期末评语大全
2014/04/21 职场文书
在宿舍喝酒的检讨书
2014/09/28 职场文书
2014年审计工作总结
2014/11/17 职场文书
背起爸爸上学观后感
2015/06/08 职场文书
追讨欠款律师函
2015/06/24 职场文书
纪检监察立案决定书
2015/06/24 职场文书
欢送会主持词
2015/07/01 职场文书
行为规范主题班会
2015/08/13 职场文书
MySQL中distinct和count(*)的使用方法比较
2021/05/26 MySQL
HttpClient实现文件上传功能
2022/08/14 Java/Android