pyodbc有执行标量函数吗
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")