如何执行由 python-sql 查询生成器形成的查询?
Posted
技术标签:
【中文标题】如何执行由 python-sql 查询生成器形成的查询?【英文标题】:How to execute query formed by python-sql query builder? 【发布时间】: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中执行?
【问题讨论】:
【参考方案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,))
对于其他数据库系统只需更改驱动程序名称等...
【讨论】:
以上是关于如何执行由 python-sql 查询生成器形成的查询?的主要内容,如果未能解决你的问题,请参考以下文章
如何在执行查询之前从Laravel的查询生成器获取原始查询字符串?