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)鍵點你知道幾個
這篇文章主要為大家詳細介紹了Python編程的四個關(guān)鍵點,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-02-02
anaconda的安裝和配置環(huán)境及導(dǎo)入pycharm的方法
這篇文章主要介紹了anaconda的安裝和配置環(huán)境及導(dǎo)入pycharm的方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03
為什么在函數(shù)中運行的?Python?代碼速度更快?
對于Python解釋器來說,讀取和寫入局部變量比全局變量更容易和更快,因為它們的作用域范圍較小2023-09-09

