【发布时间】:2019-11-07 20:59:04
【问题描述】:
假设我在 MySQL 中有 30 个数据库,从 db1 到 db30。我有一个 python 脚本,它将创建引擎并连接到 one db,
import pandas as pd
import MySQLdb
from sqlalchemy import create_engine
df = pd.read_csv('pricelist.csv')
new_df = df[['date','time','new_price']]
engine = create_engine('mysql+mysqldb://root:python@localhost:3306/db1', echo = False)
new_df.to_sql(name='temporary_table', con=engine, if_exists = 'append', index=False)
with engine.begin() as cnx:
sql_insert_query_new = 'REPLACE INTO newlist (SELECT * FROM temporary_table)'
cnx.execute(sql_insert_query_new)
cnx.execute("DROP TABLE temporary_table")
现在有了上面的脚本,我需要 30 个 python 脚本来创建引擎并连接每个数据库来进行查询。要调用这 30 个脚本,我需要在任务调度程序上使用批处理文件。
是否有使用单个脚本连接多个数据库的优化方法?我阅读了会话,认为它不能容纳多个数据库。如果我有 30 个 python 脚本来做这个创建引擎和连接,在处理性能方面会有什么问题吗?最终,我将在 MySQL 中拥有数百个 db。
谢谢!
注意:每个数据库都有自己唯一的表名。
使用 Python 3.7
【问题讨论】:
标签: python mysql sqlalchemy mysql-python