python - 使用 sqlalchemy 引擎批量插入
问题描述
有没有办法使用引擎将值批量插入/更新到 Microsoft SQLserver 数据库中?
我已经阅读了几篇关于此的(非常)旧帖子,并且(当时)似乎不太容易做到。
例如,在某些示例中,我们需要创建一个类,将这些类添加到会话中并最后提交会话。
有没有像(伪)这样的方法:
from sqlalchemy import String, Integer, Float
values= [(1,"hello",2.5),(2,"world",10.5)] #values to insert
table = "my_schema.my_table" #Table name
col = ["id","statement","ratio"] #Name of the columns in the database
type = [Integer,String,Float] #Type of each value
engine = sqlalchemy.create_engine(connection_string)
with engine.session():
try:
engine.bulk_insert(table,values,col,type)
except:
engine.rollback()
或其他东西,而不是循环engine.execute("INSERT INTO ...")
?
我知道我可以使用pandas.DataFrame.to_sql
,但因为我希望能够在出现错误等情况下回滚。我不会使用它
解决方案
推荐阅读
- azure - 尝试通过 terraform 添加 LinuxDiagnostic Azure VM Extension 并出现错误
- python - 我如何制作这样的“订购”产品应用程序
- php - 访问 Webroot 之外的文件/目录 - PHP
- excel - Excel中基于下拉值的条件格式
- python - 如何在 Python 上转换为匈牙利语
- ios - Swift 将运算符与 RxSwift 框架中的 `withLatestFrom` 等功能相结合
- php - PHP:合并数组并添加键值
- java - 将持久化实体保留在事务之外
- angular - 读取刚刚写入的文件与 Ionic4 文件插件没有相同的数据
- javascript - svelte electron 中的 JS 文件中不能需要节点模块