首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在SQLAlchemy中插入t1(SELECT*FROM t2)?

在SQLAlchemy中,您可以使用insert()select()方法来实现在一个表中插入另一个表的数据。以下是一个示例:

代码语言:python
代码运行次数:0
复制
from sqlalchemy import create_engine, Table, Column, Integer, String, MetaData, select, insert

# 创建一个引擎
engine = create_engine('sqlite:///example.db')

# 创建一个元数据对象
metadata = MetaData()

# 定义表1和表2
t1 = Table('t1', metadata,
           Column('id', Integer, primary_key=True),
           Column('name', String))

t2 = Table('t2', metadata,
           Column('id', Integer, primary_key=True),
           Column('name', String))

# 创建表
metadata.create_all(engine)

# 插入数据到表2
with engine.begin() as conn:
    conn.execute(t2.insert(), [{'id': 1, 'name': 'John'}, {'id': 2, 'name': 'Jane'}])

# 从表2中选择数据并插入到表1
with engine.begin() as conn:
    stmt = insert(t1).from_select(('id', 'name'), select([t2.c.id, t2.c.name]))
    conn.execute(stmt)

在这个示例中,我们首先创建了两个表t1t2,然后向t2中插入了一些数据。接下来,我们使用insert()select()方法从t2中选择数据并插入到t1中。

这个示例使用了SQLite数据库,但是您可以将其更改为使用其他数据库,例如MySQL、PostgreSQL等。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券