23.4. Integración de bases de datos Python: consulta de datos
Python, un lenguaje de programación de alto nivel, se utiliza ampliamente en el desarrollo de aplicaciones web y de escritorio. Una de sus principales ventajas es la capacidad de interactuar con una variedad de bases de datos, permitiendo la manipulación y consulta de datos. En este capítulo, exploraremos la integración de la base de datos de Python y cómo realizar consultas de datos.
Conexión de base de datos Python
Python proporciona varias bibliotecas para conectarse a diferentes tipos de bases de datos. El paquete Python Database API (DB-API) es uno de los paquetes más comunes para conectar Python a bases de datos relacionales como MySQL, SQLite y PostgreSQL.
Para establecer una conexión a una base de datos, necesita instalar el controlador apropiado para la base de datos que está utilizando y luego importar el módulo del controlador a su código Python. Por ejemplo, para conectarse a una base de datos SQLite usaría:
importar sqlite3 con = sqlite3.connect('mibase de datos.db')
Esto crea una conexión a la base de datos 'mydatabase.db'.
Consulta de datos
Después de establecer una conexión a la base de datos, puede realizar consultas SQL para manipular y recuperar datos. Para hacer esto, necesita crear un objeto de cursor usando el método cursor() del objeto de conexión. Un cursor es un objeto que le permite interactuar con la base de datos, ejecutando comandos SQL y recuperando resultados.
cur = con.cursor()
Ahora, puede utilizar el método ejecutar() del objeto cursor para ejecutar comandos SQL. Por ejemplo, para seleccionar todos los registros de una tabla llamada 'usuarios', haría:
cur.execute("SELECCIONAR * DE usuarios")
Para recuperar los resultados de una consulta, puede utilizar los métodos fetchone(), fetchmany() o fetchall() del objeto cursor. fetchone() devuelve el siguiente registro de la consulta, fetchmany() devuelve el siguiente conjunto de registros y fetchall() devuelve todos los registros como una lista.
filas = cur.fetchall() para fila en filas: imprimir (fila)
Cerrar la conexión
Es importante cerrar la conexión a la base de datos cuando haya terminado de usarla. Esto libera recursos del sistema y garantiza que cualquier cambio pendiente se guarde en la base de datos. Puede cerrar la conexión utilizando el método close() del objeto de conexión.
con.cerrar()
En resumen, Python proporciona una interfaz fácil de usar para conectarse a bases de datos y consultar datos. Con práctica, podrás dominar la manipulación de datos usando Python y SQL.
Trabajar con Django
Django, un marco de desarrollo web Python de primer nivel, también ofrece una forma sólida y eficiente de trabajar con bases de datos. Con Django, puedes definir modelos que representen las tablas de tu base de datos y luego usar la API de base de datos de Django para consultar esos modelos.
La consulta de datos en Django se realiza mediante la creación de objetos QuerySet, que son esencialmente una representación de una consulta de base de datos. Los QuerySets son vagos, lo que significa que sólo se evalúan cuando son necesarios. Esto le permite crear consultas complejas sin preocuparse por la eficiencia.
Por ejemplo, para recuperar todos los usuarios de una tabla 'Usuario', haría lo siguiente:
desde myapp.models importar usuario usuarios = Usuario.objetos.todos()
Esto devolverá un QuerySet que contiene todos los usuarios. Luego puede iterar sobre este QuerySet para trabajar con cada usuario individualmente.
En resumen, Django ofrece una forma poderosa y eficiente de trabajar con bases de datos en Python. Con práctica, podrás dominar la manipulación de datos usando Django y SQL.