詳解 executemany的使用方法

Y2J
發布: 2017-05-15 10:42:13
原創
10257 人瀏覽過

這篇文章主要介紹了python executemany的使用及注意事項,非常不錯,具有參考借鑒價值,需要的朋友可以參考下

使用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

【相關推薦】

#1. #特別推薦#【相關推薦】#1.

#:「php程式設計師工具箱」V0.1版本下載

2. Python免費影片教學

######3. ## #Python物件導向影片教學######

以上是詳解 executemany的使用方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!