El MySQLdb
la clase cursor implementa el protocolo iterador
, por lo que simplemente puede hacer esto:
cursor.execute(sql)
for row in cursor:
print row
...
Código relevante de MySQLdb.cursors.BaseCursor :
def __iter__(self):
return iter(self.fetchone, None)