python execute用法_詳解python使用executemany的注意事項

這篇文章主要詳解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

以上所述是小編給大家介紹的python executemany的使用及注意事項,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對PHP中文網的支持!

相關資源:pythonexecutemany的使用及注意事項-其它代碼類資源
————————————————
版權聲明:本文爲CSDN博主「陳咔嚓」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_29342901/article/details/114361583

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章