Python 批量插入SQL Server 数据库

需要将一批数据插入SQL server 数据库,经过查证可以采用批量插入的方法,遇到一些坑,特记录一下

  1. 怎样连接数据库可以查看上一篇
  2. 批量插入方法如下:
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 <module>
    cursor.executemany(sql_1,data)
pyodbc.ProgrammingError: ('The SQL contains 4 parameter markers, but 6 parameters were supplied', 'HY000')

坑2:
批量入库万一有重复的数据会报错,且REPLACE语句只适用于My SQL.

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用Python将Excel数据导入到SQL Server数据库,可以使用如下步骤: 1. 安装所需库:首先,需要安装xlrd库,用于读取Excel文件的数据;同时,还需要安装pymssql库,用于连接和操作SQL Server数据库。 2. 导入库:在Python代码中,导入所需的库,包括xlrd和pymssql库。 3. 连接到数据库:使用pymssql库提供的连接函数,连接到SQL Server数据库。需要提供数据库的主机名/ IP地址、端口号、数据库名称、用户名和密码等信息。 4. 读取Excel数据:使用xlrd库提供的函数,读取Excel文件的数据。可以指定需要读取的Sheet名称或索引,然后使用循环逐行读取数据。 5. 插入数据数据库:使用pymssql库提供的SQL执行函数,将读取到的Excel数据插入SQL Server数据库中。可以使用INSERT语句构建插入语句,并将Excel数据的值作为参数传递给执行函数。 6. 关闭数据库连接:在完成数据插入操作后,使用pymssql库提供的关闭连接函数,关闭与SQL Server数据库的连接。 需要注意的是,在执行插入操作之前,可能需要创建对应的数据库表和列,以确保插入操作可以成功。 总结: 通过使用xlrd库读取Excel数据,再使用pymssql库连接和操作SQL Server数据库,可以实现将Excel数据导入到SQL Server数据库的功能。这种方法适用于小规模的数据导入操作,如果需要导入大量数据,可能需要考虑性能优化的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值