Python 批量插入SQL Server 資料庫

2021-10-07 03:22:32 字數 1034 閱讀 6932

需要將一批資料插入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...