Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何执行python sql查询生成器生成的查询?_Python_Python 3.x_Python Sql - Fatal编程技术网

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

如何执行python sql查询生成器生成的查询?,python,python-3.x,python-sql,Python,Python 3.x,Python Sql,我正在使用python sql查询生成器构建查询。以下是链接: 如何从该查询生成器执行查询?以下是一个例子: user = Table('user') select = user.select() tuple(select) ('SELECT * FROM "user" AS "a"', ()) 如何在python中执行此操作?python sql似乎只返回包含sql字符串和参数列表的元组。它不执行任何操作。您可以使用pyodbc或其他库执行生成的代码,例如,对于SQL Server:

我正在使用python sql查询生成器构建查询。以下是链接:

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

user = Table('user')

select = user.select()

tuple(select)

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

如何在python中执行此操作?

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,))
对于其他数据库系统,只需更改驱动程序名称等