连接到SQL Server并从Python作为“ passthrough”运行查询

问题描述 投票:0回答:1

我目前拥有对存储在SQL Server数据库中的数据执行查询的代码,如下所示:

import pyodbc
conn = pyodbc.connect(
    r'DRIVER={SQL Server};'
    r'SERVER=SQL2SRVR;'
    r'DATABASE=DBO732;'
    r'Trusted_Connection=yes;'
    )

sqlstr = '''
    SELECT Company, Street_Address, City, State
    FROM F556
    WHERE [assume complicated criteria statement here]
'''

crsr = conn.cursor()
for row in crsr.execute(sqlstr):
    print(row.Company, row.Street_Address, row.City, row.State)

我无法在线找到有关pyodbc是否可以(或默认情况下)在SQL Server上运行我的查询(作为直通查询),或者(如果pyodbc无法做到的话)是否还有另一种方法(也许是sqlalchemy或类似?)。有见识吗?

或者是否有直接从熊猫执行直通查询的方法?

python sql-server pandas sqlalchemy pyodbc
1个回答
0
投票

如果使用熊猫和SQL Server,则应该已经创建了一个SQLAlchemy Engine对象(通常命名为engine)。要执行原始DML语句,您可以使用以下结构:

with engine.begin() as conn:
    conn.execute("UPDATE table_name SET column_name ...")
print("table updated")
© www.soinside.com 2019 - 2024. All rights reserved.