【问题标题】:How to execute query formed by python-sql query builder?如何执行由 python-sql 查询生成器形成的查询?
【发布时间】:2019-09-12 07:22:36
【问题描述】:
我正在使用 python-sql 查询生成器来构建查询。以下是链接:
https://pypi.org/project/python-sql/
如何从这个查询生成器执行查询?下面是一个例子:
user = Table('user')
select = user.select()
tuple(select)
('SELECT * FROM "user" AS "a"', ())
如何在python中执行?
【问题讨论】:
标签:
python
python-3.x
python-sql
【解决方案1】:
python-sql 似乎只返回一个带有 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,))
对于其他数据库系统只需更改驱动程序名称等...