Python 关于mysql游标和迭代器
假设我有一个mysql游标和数据读取。数据量可能非常大,我希望每次处理一行数据 简单而直接的方法可能是这样的:Python 关于mysql游标和迭代器,python,mysql,cursor,fetchall,Python,Mysql,Cursor,Fetchall,假设我有一个mysql游标和数据读取。数据量可能非常大,我希望每次处理一行数据 简单而直接的方法可能是这样的: while True: row = cursor.fetchone() if not row: break ..... 但这看起来不太好,所以我想知道这种方式是否如想象的那样有效: for row in iter(cursor.fetchall()) 我想知道的是:如果我使用iter(cursor.fetchall())方式,它是先获取所有数据还是一次只获取
while True:
row = cursor.fetchone()
if not row: break
.....
但这看起来不太好,所以我想知道这种方式是否如想象的那样有效:
for row in iter(cursor.fetchall())
我想知道的是:如果我使用iter(cursor.fetchall())方式,它是先获取所有数据还是一次只获取一行
任何想法都值得赞赏
thxMySQLdbcursor类实现了,因此您只需执行以下操作:
cursor.execute(sql)
for row in cursor:
print row
...
相关代码来自:
无论如何,我可以在for循环中得到列名吗?
def __iter__(self):
return iter(self.fetchone, None)