需要將一批資料插入sql server 資料庫,經過查證可以採用批量插入的方法,遇到一些坑,特記錄一下
批量插入方法如下:
sql_1=
"insert into f_rnfl_mt2(id,fymdh,ymdh,rn,unitname,comments) values(?,?,?,?,?,?)"
data =[(
1,'2020-06-10 06:00'
,'2020-06-10 06:00',39
,21,0
),(2
,'2020-06-10 06:00'
,'2020-06-10 06:00',40
,21,0
),(3
,'2020-06-10 06:00'
,'2020-06-10 06:00',30
,21,0
)]data =
tuple
(data)
cursor =conn.
cursor()
cursor.
executemany
(sql_1,data)
conn.
commit
()
坑1:
sql server 語句如果需要批量插入,需要使用『?』代替』%s』,否則會報錯:
traceback
(most recent call last)
: file "connect.py"
, line 35,in
cursor.
executemany
(sql_1,data)
pyodbc.programmingerror:
('the sql contains 4 parameter markers, but 6 parameters were supplied'
,'hy000'
)
坑2:
批量入庫萬一有重複的資料會報錯,且replace語句只適用於my sql.
python資料批量插入postgreSQL資料庫
1 executemany 方法批量輸入資料到資料庫 import pandas as pd import psycopg2 from dbutils.pooleddb import pooleddb import math 批量插入 data 為dataframe資料,size 為批量大小 sql...
mysql 批量插入 Mysql批量插入分析
前言最近發現幾個專案中都有批次插入資料庫的功能,每個專案中批次插入的寫法有一些差別,所以本文打算對mysql的批次插入做乙個詳細的分析。準備1.jdk1.7,mysql5.6.38 2.準備庫和表 測試與分析 下面準備幾種插入的方式來分析優劣 1.statement插入方式 準備資料,然後通過sta...
python 往MySQL批量插入資料
在工作用有時候需要批量造測試資料 手工造太麻煩了,可以通過python批量插入表資料 批量插入sql語句 import pymysql,string,random,time defconnet mysql try db pymysql.connect host 192.168.31.103 user...