python中pymysql的executemany使用方式
pymysql的executemany使用
在使用pymysql的executemany方法時,需要注意的幾個問題
1、在寫sql語句時,不管字段為什么類型,占位符統(tǒng)一使用%s,且不能加上引號。例如
sql="insert into tablename (id,name) values (%s,%s)"
2、添加的數(shù)據(jù)的格式必須為list[tuple(),tuple(),tuple()]或者tuple(tuple(),tuple(),tuple())例如
values=[(1,"zhangsan"),(2,"lisi")] #或者 values=((1,"zhangsan"),(2,"lisi"))
最后,通過executemany插入
cursor.executemany(sql,values)?
pymysql的executemany小記
讀取本地csv文件 批量插入mysql數(shù)據(jù) 以此增加效率
executemany方法
- 先定義一個list來存csv里面的for值
- 然后用executemany(sql,list)來批量插數(shù)據(jù)
- 注意:sql要用replace('\'','')去除單引號。要不然插入會報錯。
示例
list = [] for x in xinghao_items: ? ? ? ? values = (str(x).replace('nan','')) ? ? list.append(values) ? ? num = num + 1 ? ? if num == 500000: ? ? ? ? sql = "insert into t_mlcc(part_number)values('%s')" ? ? ? ? cursor.executemany(sql.replace('\'',''),list) ? ? ? ? db.commit() ? ? ? ? # 執(zhí)行sql語句 ? ? ? ? print("============" + time.strftime('%Y-%m-%d %H:%M:%S') + "=====insert ok=====") ? ? ? ? num = 0 ?# 計數(shù)歸零 ? ? ? ? list.clear() ?# 清空list
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
現(xiàn)代Python編程的四個關(guān)鍵點你知道幾個
這篇文章主要為大家詳細(xì)介紹了Python編程的四個關(guān)鍵點,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-02-02anaconda的安裝和配置環(huán)境及導(dǎo)入pycharm的方法
這篇文章主要介紹了anaconda的安裝和配置環(huán)境及導(dǎo)入pycharm的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03為什么在函數(shù)中運行的?Python?代碼速度更快?
對于Python解釋器來說,讀取和寫入局部變量比全局變量更容易和更快,因為它們的作用域范圍較小2023-09-09