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里对list中的整数求平均并排序
Sep 12 Python
Ubuntu 14.04+Django 1.7.1+Nginx+uwsgi部署教程
Nov 18 Python
星球大战与Python之间的那些事
Jan 07 Python
使用rst2pdf实现将sphinx生成PDF
Jun 07 Python
Python实现删除文件中含“指定内容”的行示例
Jun 09 Python
Python selenium根据class定位页面元素的方法
Feb 26 Python
python实现的分析并统计nginx日志数据功能示例
Dec 21 Python
春节到了 教你使用python来抢票回家
Jan 06 Python
PyCharm如何导入python项目的方法
Feb 06 Python
python使用OpenCV模块实现图像的融合示例代码
Apr 10 Python
浅谈Python中的生成器和迭代器
Jun 19 Python
Anaconda详细安装步骤图文教程
Nov 12 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
laravel 5 实现模板主题功能(续)
2015/03/02 PHP
Ubuntu彻底删除PHP7.0的方法
2018/07/27 PHP
Javascript合并表格中具有相同内容单元格示例
2013/08/11 Javascript
如何学习Javascript入门指导
2013/11/01 Javascript
深入理解Javascript作用域与变量提升
2013/12/09 Javascript
javascript实现带下拉子菜单的导航菜单效果
2015/05/14 Javascript
JavaScript 节流函数 Throttle 详解
2016/07/04 Javascript
Bootstrap模态窗口源码解析
2017/02/08 Javascript
Node.js v8.0.0正式发布!看看带来了哪些主要新特性
2017/06/02 Javascript
在Vue.js中使用Mixins的方法
2017/09/12 Javascript
用vue封装插件并发布到npm的方法步骤
2017/10/18 Javascript
微信小程序使用map组件实现路线规划功能示例
2019/01/22 Javascript
vue中获取滚动table的可视页面宽度调整表头与列对齐(每列宽度不都相同)
2019/08/17 Javascript
layui lay-verify form表单自定义验证规则详解
2019/09/18 Javascript
Vue.js 实现地址管理页面思路详解(地址添加、编辑、删除和设置默认地址)
2019/12/11 Javascript
vue同个按钮控制展开和折叠同个事件操作
2020/07/29 Javascript
vant-ui组件调用Dialog弹窗异步关闭操作
2020/11/04 Javascript
Python实现抓取百度搜索结果页的网站标题信息
2015/01/22 Python
Python中跳台阶、变态跳台阶与矩形覆盖问题的解决方法
2018/05/19 Python
浅析python3中的os.path.dirname(__file__)的使用
2018/08/30 Python
python引入不同文件夹下的自定义模块方法
2018/10/27 Python
Python求一批字符串的最长公共前缀算法示例
2019/03/02 Python
Python使用__new__()方法为对象分配内存及返回对象的引用示例
2019/09/20 Python
Django之全局使用request.user.username的实例详解
2020/05/14 Python
python新手学习使用库
2020/06/11 Python
为什么说python更适合树莓派编程
2020/07/20 Python
Python pysnmp使用方法及代码实例
2020/08/24 Python
Python Selenium破解滑块验证码最新版(GEETEST95%以上通过率)
2021/01/29 Python
基于HTML5实现类似微信手机摇一摇功能(计算摇动次数)
2017/07/24 HTML / CSS
实习老师个人总结的自我评价
2013/09/28 职场文书
商务英语本科生的自我评价分享
2013/11/15 职场文书
开学典礼决心书
2014/03/11 职场文书
体育活动总结范文
2014/05/04 职场文书
2015年营销工作总结范文
2015/04/23 职场文书
感谢师恩主题班会
2015/08/17 职场文书
nginx中proxy_pass各种用法详解
2021/11/07 Servers