通过 SQL 中的多个数据库在 Python 中迭代循环

Posted

技术标签:

【中文标题】通过 SQL 中的多个数据库在 Python 中迭代循环【英文标题】:Iterate loop in Python through multiple databases in SQL 【发布时间】:2017-01-18 17:52:27 【问题描述】:

目前有一个没有多个数据库结构的远程 SQL 服务器。在应用一些分析之前,使用 PyMSSQL 插件通过 Python 代码连接并将数据提取到 pandas 中。有没有办法进行迭代,使得每次循环时,数据库编号都会发生变化,从而允许分析新数据库的数据?

例如 *连接到服务器

cursor.execute("SELECT TOP 100 *variable name* FROM *database_1*")

*分析

*断开服务器

理想情况下会有一个循环允许我自动从 database_1 读取数据到 database_10

【问题讨论】:

【参考方案1】:

IIUC 你可以使用read_sql() 方法轻松做到这一点:

engine = create_engine('mssql+pymssql://USER:PWD@hostname/db_name')

for i in range(1,10):
    qry = 'SELECT TOP 100 variable name FROM database_'.format(i)
    df = pd.read_sql(qry, engine)
    # analyse ...

【讨论】:

以上是关于通过 SQL 中的多个数据库在 Python 中迭代循环的主要内容,如果未能解决你的问题,请参考以下文章

从 python 读取多个列表到 SQL 查询中

Spring Boot 中的多个 SQL 导入文件

使用Python通过html表单删除存储在SQL数据库中的任务

Python - 从文件执行多个 SQL 查询

使用 SQL 向 MS Access 中的多个表添加列

使用 sql 中的键连接数据库中的多个表