python executemany的使用及注意事項(xiàng)
使用executemany對(duì)數(shù)據(jù)進(jìn)行批量插入的話,要注意一下事項(xiàng):
#coding:utf8 conn = MySQLdb.connect(host = “l(fā)ocalhost”, 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(“執(zhí)行MySQL: %s 時(shí)出錯(cuò):%s” % (sql, e)) finally: cursor.close() conn.commit() conn.close()
這里args是一個(gè)包含多個(gè)元組的數(shù)組,每個(gè)元組對(duì)應(yīng)mysql當(dāng)中的一條數(shù)據(jù),注意這里的created_day對(duì)應(yīng)的%s沒(méi)有引號(hào)。這里推測(cè)executemany自己首先對(duì)sql語(yǔ)句進(jìn)行正則匹配%s然后在此基礎(chǔ)上,對(duì)字符串進(jìn)行嵌入處理,如果這里%s加上引號(hào)的話,插入mysql當(dāng)中會(huì)出現(xiàn)”0000-00-00″類型的錯(cuò)誤日期。
如果一次性要插入很多條數(shù)據(jù)的話,在這里強(qiáng)烈 推薦使用executemany,從自己體會(huì)來(lái)講,一條一條的insert需要2-3個(gè)小時(shí)時(shí)間的數(shù)據(jù)插入,使用executemany只需要2-3秒?。?!
在這里executemany和ON DUPLICATE KEY UPDATE聯(lián)合使用的時(shí)候如果按照sql常規(guī)模式,即:sql=”insert into myTable (created_day,name,count) values(%s,%s,%s) ON DUPLICATE KEY UPDATE count=count+%s”會(huì)報(bào)bug:not all arguments converted during string formatting
以上所述是小編給大家介紹的python executemany的使用及注意事項(xiàng),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- 通過(guò)代碼示例了解submit與execute的區(qū)別
- PHP PDOStatement::execute講解
- JDBC Oracle執(zhí)行executeUpdate卡死問(wèn)題的解決方案
- MySQL中預(yù)處理語(yǔ)句prepare、execute與deallocate的使用教程
- Failed to execute goal org...的解決辦法
- ThreadPoolExecutor線程池原理及其execute方法(詳解)
- MySQL execute、executeUpdate、executeQuery三者的區(qū)別
- 簡(jiǎn)單解析execute和submit有什么區(qū)別
相關(guān)文章
pygame庫(kù)實(shí)現(xiàn)俄羅斯方塊小游戲
這篇文章主要為大家詳細(xì)介紹了pygame庫(kù)實(shí)現(xiàn)俄羅斯方塊小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10Python對(duì)切片命名的實(shí)現(xiàn)方法
在本篇文章里我們給大家分享了關(guān)于Python對(duì)切片命名的實(shí)現(xiàn)方法的相關(guān)知識(shí)點(diǎn)內(nèi)容,有需要的朋友們學(xué)習(xí)下。2018-10-10Python PySpider爬蟲(chóng)框架安裝使用教程
PySpider是一個(gè)Python編寫的分布式網(wǎng)絡(luò)爬蟲(chóng)框架,它可以幫助開(kāi)發(fā)者快速構(gòu)建和部署爬蟲(chóng),并支持爬蟲(chóng)任務(wù)的分布式運(yùn)行,PySpider基于Twisted網(wǎng)絡(luò)框架和MongoDB數(shù)據(jù)庫(kù),具有高效、穩(wěn)定、易用等特點(diǎn),同時(shí)還提供了一套Web界面,可以方便地查看爬蟲(chóng)任務(wù)的運(yùn)行狀態(tài)和結(jié)果2023-11-11python中的?sorted()函數(shù)和sort()方法區(qū)別
這篇文章主要介紹了python中的?sorted()函數(shù)和sort()方法,首先看sort()方法,sort方法只能對(duì)列表進(jìn)行操作,而sorted可用于所有的可迭代對(duì)象。具體內(nèi)容需要的小伙伴可以參考下面章節(jié)2022-02-02