En una publicación anterior sobre SQLite 3 y Python, agregué dos tablas relacionadas a una base de datos SQLite 3, usando Pyhton. Las tablas se denominan universidadesTBxx y estudiantesTBxx. Ambas tablas se almacenan en una base de datos llamada «newDatabase.db». Los estudiantes se inscriben en una universidad. La información relacionada con la universidad respectiva está contenida en la tabla UniversidadesTBxx.
En esta publicación, implementaré una consulta SQL básica para recuperar datos de la base de datos SQLite 3. Primero, repitamos la implementación de una función relevante para crear una conexión a una base de datos:
# importar módulo sqlite3 import sqlite3 # esta función crea una conexión de base de datos a un archivo de base de datos # parámetros: nombre del archivo de la base de datos # devuelve: conexión a la base de datos def create_connection(db_file): conn = None try: conn = sqlite3.connect(db_file) return conn except Error as e: print(e) return conn
Como conocemos el nombre de la base de datos, ahora podemos conectarnos a ella usando la función anterior:
# obtener un controlador de referencia para conectarse con la base de datos dbConnection = create_connection("newDatabase.db")
Ahora tenemos una referencia a la conexión a la base de datos relevante. Implementemos un comando SELECT * para la tabla de la universidad, usando Python y el módulo sqlite3:
cursorObj = dbConnection.cursor() cursorObj.execute("SELECT * FROM universitiesTBxx") rowList = cursorObj.fetchall() for row in rowList: print(row)
('MIT', 'USA') ('ETH', 'CH') ('DTU', 'DK')
Podríamos, por ejemplo, también intente una declaración de condición SELECT * FROM tableName WHERE. P.ej. Solo quiero que se devuelvan los estudiantes que estudiaron en ETH Zürich (Instituto Federal Suizo de Tecnología):
cursorObj.execute("SELECT * FROM studentsTBxx WHERE university = 'ETH'") rowList = cursorObj.fetchall() for row in rowList: print(row)
(1, 'Linnart', 'ETH', 'MSc')
También podríamos implementar una función que permita genéricamente la ejecución de una instrucción select a partir de un nombre de tabla parametrizado, usando filtros paramétricos.
Ingeniero industrial especializado en optimización y simulación (R, Python, SQL, VBA)
Leave a Reply