循环通过Mysql结果

时间:2014-07-25 19:53:54

标签: python mysql database

这是我的代码:

r = ''
while True:
    data = result.fetch_row()
    r+= record[0][0] + record[0][1] + record[0][0]
print r

我想要做的是,首先获取所有行:

data = result.fetch_row(0)

然后为"数据"

运行循环

而不是在while循环中执行。

2 个答案:

答案 0 :(得分:2)

您可以将循环到光标本身

for row in result:
    # do something with row

Python DB-API 2 specification中的游标迭代是可选的,但实际上所有当前的实现都支持它。

这使数据库适配器可以根据需要批量从数据库服务器中获取行。

如果你偶然发现不支持游标迭代的数据库适配器,那么你总是可以回到cursor.fetch_all()

for row in cursor.fetch_all():
    # do something with row

但是,请注意这会将整个结果集加载到列表中。

答案 1 :(得分:0)

你在用什么? pyodbc?在大多数apis中,您可以使用fetchall()。

请参阅:pyodbc api并搜索fetchall()

相关问题