规范的方式是使用内置的游标迭代器。
curs.execute('select * from people')
for row in curs:
print row
您可以使用fetchall()来一次性获取所有行。
for row in curs.fetchall():
print row
使用此方法可以方便地创建包含返回值的Python列表:
curs.execute('select first_name from people')
names = [row[0] for row in curs.fetchall()]
这对于较小的结果集可能有用,但如果结果集较大,可能会有不良的副作用。
>您必须等待整个结果集返回
您的客户端进程。
>你可能在你的客户端吃了很多内存来举行
构建列表。
> Python可能需要一段时间才能构建和解构
列表,你将立即丢弃反正。
如果你知道结果集中有一行被返回,你可以调用fetchone()来获取单行。
curs.execute('select max(x) from t')
maxValue = curs.fetchone()[0]
最后,可以遍历结果集,一次获取一行。一般来说,使用迭代器没有特别的优势。
row = curs.fetchone()
while row:
print row
row = curs.fetchone()