如何在SQLAlchemy中连接来自不同数据库的2个表?

ViníciusAlcântara

我正在使用python / SQLAlchemy从MySQL数据库提取数据。我有2个不同的主机,每个主机都有一个数据库,我需要连接2个表(每个主机/数据库中有1个表)。我该怎么做?

我正在阅读本文档,但无法获得直接帮助。连接到一个数据库很简单:

engine = create_engine('mysql+pymysql://user:pass@host/database')

但是我不确定如何使用两个引擎。

有人吗 提前致谢。

算了吧

您可以将Pandas用作两个数据库之间的粘合剂例如,

import config
import pandas as pd
import sqlalchemy as SA

engine_postgresql = SA.create_engine('postgresql+psycopg2://{u}:{p}@{h}/{d}'.format(
    u=PGUSER, p=PGPASS, h=PGHOST, d='pgtest'))
engine_mysql = SA.create_engine('mysql+mysqldb://{u}:{p}@{h}/{d}'.format(
    u=MYUSER, p=MYPASS, h=MYHOST, d='mytest'))

sql = 'SELECT col1, col2, col3 FROM tableA'
df1 = pd.read_sql(sql, con=engine_postgresql)
sql = 'SELECT col1, col2, col4 FROM tableB'
df2 = pd.read_sql(sql2, con=engine_mysql)

result = pd.merge(df1, df2, how='left', on=['col1', 'col2'])

pd.read_sql将SQL查询传递给数据库并返回DataFrame。pd.merge将两个DataFrame联接在一起并返回一个DataFrame。

也可以使用to_sql方法将DataFrames作为表插入数据库中例如,

result.to_sql('tablename', engine_postgresql, if_exists='append')

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Schemabinding使用来自2个不同数据库的表创建索引视图

如何在1列datagridview中显示来自mysql数据库的2个不同列

如何使用sqlalchemy表达式语言/ sqlalchemy核心联接来自两个不同数据库的表?

连接来自不同数据库的表(PostgreSQL)

flask-sqlalchemy:无法连接来自两个数据库的表(不同的绑定键)。收到错误1146(请参阅下文)

如何在MYSQL中编写子查询以链接来自多个数据库的列?

如何连接来自两个不同数据库(ms.access和mysql)的三个表?

如何连接来自两个不同PDO对象的表?

如何在数据库中创建表,该表存储来自MS Access数据库中2个不同表的数据c#WPF中

如何仅用一个标题连接来自不同目录的表

如何在codeigniter中的mysql数据库的表的一列中将来自3个不同输入字段的数据一起插入

连接来自单独数据库的查询

如何连接来自mysql中两个不同表的数据(LEFT JOIN)?

SQL连接来自多个数据库连接的多个表

如何使用PostgreSQL连接来自不同数据库的两个表?

如何在SQL Server中联接来自多个数据库的重复表

连接来自两个不同数据库的RDD

连接来自不同表的 2 个 SQL 查询

SQL Merge 连接来自两个不同数据库的两个表

如何连接数据库中的3个表?

如何在Sqlite3中连接来自同一个表的不同列的两个值?

如何在同一 Kusto 集群上的不同数据库中的 2 个表之间安排数据移动

如何在单个 JTable 中连接来自 2 个不同表的数据

如何用不等号连接来自不同数据库的 2 个表

如何连接来自两个不同数据库的两个表并使用 C#/ASP 从 MSSQL 检索数据。如何为此管理连接字符串?

连接来自 3 个表的数据

如何比较 2 个不同数据库中的 2 个表并仅更新更改的值?

如何在 2 个不同的表 html 上分离数据库

如何在 SQLAlchemy 中连接来自不同查询的 2 个表