如何执行由 python-sql 查询生成器形成的查询?

How to execute query formed by python-sql query builder?

我正在使用 python-sql 查询构建器来构建查询。下面是 link: https://pypi.org/project/python-sql/

如何从这个查询生成器执行查询?下面是一个例子:

user = Table('user')

select = user.select()

tuple(select)

('SELECT * FROM "user" AS "a"', ())

如何在 python 中执行此操作?

似乎 python-sql 只是 returns 一个带有 SQL 字符串和参数列表的元组。它不执行任何操作。您可以使用 pyodbc 或其他库执行生成的代码,例如,对于 SQL Server:

import pyodbc
from sql import *

conn = pyodbc.connect("Driver={SQL Server Native Client 11.0};"
                      "Server=YourServer;"
                      "Database=Your database;"
                      "Trusted_Connection=yes;")

cursor = conn.cursor()

user = Table('user')

select = user.select()

cursor.execute(select[0], select[1])

for row in cursor:
    print('row = %r' % (row,))

对于其他数据库系统只需更改驱动程序名称等...