如何执行由 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的查询生成器获取原始查询字符串?

HFSS学习笔记如何由封闭曲线生成金属面

HFSS学习笔记如何由封闭曲线生成金属面

ansys中如何由面经旋转形成体,APDL命令或者GUI操作

如何使用保留订单的运行计数形成查询

MySQL查询的执行过程