A menudo escribo pequeños scripts de Python para iterar a través de todas las filas de una tabla DB. Por ejemplo, enviando un correo electrónico a todos los suscriptores.La mejor manera de iterar a través de todas las filas en una tabla DB
que hacerlo de esta manera
conn = MySQLdb.connect(host = hst, user = usr, passwd = pw, db = db)
cursor = conn.cursor()
subscribers = cursor.execute("SELECT * FROM tbl_subscriber;")
for subscriber in subscribers:
...
conn.close()
Me pregunto si hay una mejor manera de hacer esto causa es posible que mis cargas de código de miles de filas en la memoria.
Pensé que podría hacerse mejor con LIMIT
. Tal vez algo así:
"SELECT * FROM tbl_subscriber LIMIT %d,%d;" % (actualLimit,steps)
Cuál es la mejor manera de hacerlo? ¿Cómo lo harías?
+1 Sane consejos que me pasé por alto – pyfunc
@pyfunc. He escrito mucho PHP en mi vida. No puedo ver el código inseguro sin encogerme. – aaronasterling
¡Gracias por tu consejo! No sabía que ejecutar (...) es capaz de evitar la inyección de SQL. Sin embargo, es un script para uso local. – OemerA