La recuperación de datos de una base de datos es un componente fundamental de la aplicación de Python en el desarrollo de software. Hoy nos dedicaremos a la declaración SELECT, que te permite recuperar datos de una base de datos MySQL de manera eficiente. En esta guía aprenderás cómo leer un registro de una tabla 'books' con una simple declaración SELECT.
Principales conclusiones
Aprenderás cómo recuperar datos con un método, que utiliza objetos de cursor y lo importante que es cerrar la conexión con la base de datos.
Guía paso a paso
Para leer todos los registros de una base de datos MySQL, crearás el método getbooks. En este proceso, te encontrarás con cursores y ejecutarás una declaración SELECT.
Primero, debes asegurarte de que ya tienes un objeto de conexión que mantiene la conexión con la base de datos. Para ello, accedes a self.connection, que está definido en tu clase.

A continuación, necesitarás un cursor para ejecutar sentencias SQL. Al llamar a self.connection.cursor() obtendrás este objeto de cursor.

Con el cursor puedes ejecutar tu declaración SELECT. Escribe cursor.execute('SELECT * FROM books') y eso enviará la declaración a la base de datos. Aquí, el asterisco (*) representa todas las columnas en la tabla "books".

Después de que se ejecute la declaración, deberás recuperar los resultados. Esto lo haces con cursor.fetchall(), que devuelve todos los registros.

Ahora puedes devolver el registro recuperado escribiendo return cursor.fetchall().
Sin embargo, es importante cerrar el cursor y la conexión después de la consulta para liberar recursos. Esto se hace con cursor.close() y self.connection.close(). Ambos deben ser llamados al final de tu método.

Para mostrar los datos, puedes llamar al método getbooks y recorrer la devolución en un bucle. Por ejemplo, puedes usar for book in getbooks(): print(book) para mostrar todos los libros en pantalla.

Los registros se devuelven como tuplas. Esta es una práctica común en Python, que se puede convertir fácilmente en listas si es necesario. También puedes acceder a columnas específicas directamente a través de los índices de las tuplas o procesarlas más.

Si has entendido el principio en general, puedes ampliar tu aplicación para también agregar nuevos registros a través de declaraciones INSERT, lo cual se tratará en el siguiente tutorial.
Resumen – Leer datos de MySQL con Python – Paso a paso
En esta guía has aprendido cómo escribir declaraciones SQL efectivas en Python, recuperar datos utilizando cursores y también cómo cerrar correctamente la conexión a la base de datos. Estos pasos son la base para muchas otras aplicaciones y ajustes.
Preguntas frecuentes
¿Cómo recupero datos de la base de datos?Puedes recuperar datos ejecutando una declaración SELECT en tu método y luego recuperando los resultados con cursor.fetchall().
¿Por qué es importante cerrar la conexión a la base de datos?Cerrar la conexión evita que los recursos sean ocupados innecesariamente y ayuda a prevenir la pérdida de datos o problemas con la base de datos.
¿Puedo consultar solo columnas específicas?Sí, en lugar de SELECT * también puedes especificar columnas específicas, por ejemplo, SELECT title, author FROM books.