我想用SQLAlChemy Core将字符串列表批量插入到MySQL数据库中.

engine = create_engine("mysql+mysqlconnector://...")
meta = MetaData()
meta.bind = engine

我的表格布局如下所示-加上两个当前未使用的列(无关的1/2):

MyTabe = Table('MyTable', meta,
Column('id', Integer, primary_key=True), 
Column('color', Text),
Column('irrelevant1', Text)
Column('irrelevant2', Text))

不幸的是,以下命令不起作用-它插入一个空行.做这件事的正确方式是什么?

MyTable.insert().execute(['blue', 'red', 'green'])

推荐答案

这里有一种方法:

MyTable.__table__.insert().execute([{'color': 'blue'}, 
                                    {'color': 'red'}, 
                                    {'color': 'green'}])

或者,使用connection.execute():

conn.execute(MyTable.insert(), [{'color': 'blue'}, 
                                {'color': 'red'}, 
                                {'color': 'green'}])

您可以很容易地从您拥有的列表中创建词典列表:

[{'color': value} for value in colors]

Database相关问答推荐

Golang Gorm和Gin无法创建具有关联的对象

Spring DriverManagerDataSource vs apache BasicDataSource

任何用于存储过程的静态代码分析工具?

复制 MySQL 数据库的最简单方法?

更新查询 PHP MySQL

在 SQL Server 2008 R2 中,如何强制一列对于整个表是唯一的?

Spring Boot:如何使用多个模式并在运行时动态 Select 使用哪一个

Java 数据库连接池(BoneCP vs DBPool vs c3p0)

内存数据库和磁盘内存数据库的区别

数据库模式中的多对多关系表是否有正式名称?

为什么 HikariCP 推荐固定大小的池以获得更好的性能

friendship数据库模式

无法加载时区?

如何从 PostgreSQL 数据库中的文本文件加载数据?

如何使用 MySQL Workbench 架构差异两个数据库?

如何在实体框架中使用字符串属性作为主键

如何在 SQL Server 中总结时间字段

SQLite3 UNIQUE 约束失败错误

如何在 MySQL 中清理或调整 ibtmp1 文件的大小?

数据库 - (行或记录、列或字段)?