pyodbc有执行标量函数吗

5 投票
3 回答
3400 浏览
提问于 2025-04-16 17:35

pyodbc有没有类似于执行单个结果的函数呢?

就像在.NET的sql库中有的那种执行单个结果的功能?

3 个回答

1

你可以这样简化 pyodbc 的调用:

name = cursor.execute("select user_name from users where user_id=?", userid).fetchval()

因为

fetchval()

如果有结果,它会返回第一行的第一列数据

还有

*execute(sql, parameters)

这个方法会准备并执行一个 SQL 语句,并返回一个游标对象

8

pyodbc的游标有一个叫做 fetchone() 的方法。

cursor.execute("select user_name from users where user_id=?", userid)
row = cursor.fetchone()
if row:
    print row.user_name 
    # or print row[0]
3

我觉得不是这样,不过sqlalchemy是可以的(除了使用ORM等功能,它还可以作为一个方便的高级接口来使用数据库API库)。举个例子:

import sqlalchemy

# using mssql as an example because sqlalchemy uses pyodbc as the default driver for MS Sql Server
engine = sqlalchemy.create_engine("mssql://myserver/mydb")
# first column of first row is returned
username = engine.scalar("select username from users where userid = 1")

撰写回答