如何计算python中select查询返回的值

时间:2011-03-01 21:17:32

标签: python

我想计算查询返回的总行数。我能够检索查询返回的行,但如果我没有数据退出需要工作,该怎么办。也就是当查询从数据库返回没有va时。

我用来解决这个问题的代码是:

尝试:         cur.execute(查询)

    id = cur.fetchone()[0]
    if(id is None):
        return '-1'
    else: 
        return id

但是当从查询中选择没有返回任何值时,这会产生帮助。(当条件不符合select语句中定义的条件时)

1 个答案:

答案 0 :(得分:1)

cur.fetchall()将为您提供所有行的序列。您可以查看该序列的长度,以查看是否返回了任何行。这适用于小型结果集,但对于返回大量数据的查询可能并不理想。

或者,您可以查看cur.rowcount。 Rowcount将返回查询中的行数,如果无法确定数字,则返回-1。设置rowcount取决于实现;几个流行的python数据库模块(最着名的是sqlite3),不要为所有查询设置rowcount。对于未设置rowcount的模块,计算结果行数的唯一方法是将完整的结果集加载到内存中。