python - Pyodbc - 使用 WHERE 子句运行 SQL 查询(语法错误)

标签 python sql pyodbc

我正在使用 Pyodbc,并已连接到数据库。我可以轻松地从我只使用 SELECT 和 FROM 语句的地方提取数据。

但是,当我尝试使用 WHERE 语句时,它会抛出语法错误:

这是代码:

import pyodbc

conn = pyodbc.connect('DSN=QueryBuilder')
cursor = conn.cursor()
cursor.execute('SELECT * FROM dbo.Grantinformation WHERE HoldingOrganisationName = 'university of edinburgh'')

我收到这个错误:

SyntaxError: invalid syntax

如果我运行:

SELECT * 
FROM dbo.Grantinformation
WHERE HoldingOrganisationName = 'university of edinburgh'

在 SQL Server Management Studio 中,SQL 运行良好,所以显然是我在 pyodbc 上做错了什么?

非常感谢

最佳答案

不,这是一个简单的 Python 语法错误。你的 sql 字符串中有单引号,所以你需要在字符串本身周围使用双引号:

cursor.execute("SELECT * FROM dbo.Grantinformation WHERE HoldingOrganisationName = 'university of edinburgh'")

关于python - Pyodbc - 使用 WHERE 子句运行 SQL 查询(语法错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44646349/

相关文章:

python - 如何在特定shell下执行远程pysftp命令

sql - 查询从年初开始每周的总计

sql - 使用SQLite,如何查找“A,C”和“B,C”不正确的“A,B”实例?

sql-server - [Microsoft][ODBC Driver 17 for SQL Server][SQL Server] 'abcdef' 附近的语法不正确。 (102) (SQLExecDirectW)")

Python - 图像上单一颜色的矩形轮廓

java - python 的 DataFrame 类结构在 java 中有哪些选项?

sql - 选择所有薪水相同的人

python - Pyodbc 数字的默认类型

python - 如何减小 Python 创建的 txt 文件的大小?

python - 为什么 python 字符串 split() 不拆分