Cómo conectar una base de datos a Python: Guía práctica

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Fundamentos de la conexión a bases de datos en Python

Trabajar con bases de datos es una parte esencial de cualquier programa moderno. Almacenar, recuperar y gestionar datos te permite crear aplicaciones completas, desde scripts simples hasta servicios web complejos.

En Python existen múltiples formas de trabajar con bases de datos. En este artículo analizaremos en detalle cómo conectar una base de datos usando el módulo sqlite3. También veremos el uso del formato JSON para guardar datos con json.dump. Exploraremos los aspectos clave de ambas tecnologías.

¿Por qué usar bases de datos en tus proyectos?

Si tus programas manejan datos que necesitas conservar entre ejecuciones, una base de datos es indispensable. La base de datos SQLite en Python ofrece una solución confiable para almacenar información.

Ventajas de usar bases de datos

Incorporar bases de datos en tus proyectos de Python te brinda los siguientes beneficios:

• Almacenamiento cómodo de datos estructurados • Acceso rápido y filtrado de información • Gestión centralizada de datos • Garantía de integridad de los datos • Posibilidad de crear copias de seguridad • Escalabilidad de la solución

Trabajar con SQLite en Python

SQLite es la opción ideal para proyectos pequeños. Se integra directamente en la aplicación, no requiere un servidor separado y trabaja con archivos de formato .db.

Conexión a una base de datos SQLite

El módulo sqlite3 viene incluido en la biblioteca estándar de Python, por lo que no necesitas instalar nada adicional.

import sqlite3

# Conectar a la base de datos (si el archivo no existe, se crea automáticamente)
conn = sqlite3.connect('ejemplo.db')

# Crear un cursor para ejecutar consultas SQL
cursor = conn.cursor()

Al conectarte a una base de datos que no existe, el archivo se crea automáticamente. Esto facilita el trabajo con proyectos nuevos.

Crear una tabla en la base de datos

Antes de agregar datos, debes definir la estructura de la tabla. Usa el comando SQL CREATE TABLE:

cursor.execute('''
    CREATE TABLE IF NOT EXISTS usuarios (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        nombre TEXT NOT NULL,
        edad INTEGER
    )
''')
conn.commit()

La cláusula IF NOT EXISTS evita errores si la tabla ya existe. PRIMARY KEY AUTOINCREMENT asigna identificadores únicos automáticamente.

Insertar datos en la tabla

Para insertar datos se usa el comando INSERT INTO. Se recomienda usar consultas parametrizadas para protegerte contra inyecciones SQL:

cursor.execute('''
    INSERT INTO usuarios (nombre, edad) VALUES (?, ?)
''', ('Ana', 30))

# Insertar varios registros a la vez
datos_usuarios = [
    ('Carlos', 25),
    ('María', 35),
    ('David', 40)
]

cursor.executemany('''
    INSERT INTO usuarios (nombre, edad) VALUES (?, ?)
''', datos_usuarios)

conn.commit()

El método executemany permite agregar múltiples registros de forma eficiente en una sola operación.

Leer y extraer datos

Para recuperar datos existen varios métodos, según la cantidad de registros que necesites:

# Obtener todos los registros
cursor.execute('SELECT * FROM usuarios')
todas_filas = cursor.fetchall()
for fila in todas_filas:
    print(fila)

# Obtener un solo registro
cursor.execute('SELECT * FROM usuarios WHERE edad > ?', (30,))
una_fila = cursor.fetchone()
print(una_fila)

# Obtener varios registros
cursor.execute('SELECT nombre, edad FROM usuarios ORDER BY edad')
algunas_filas = cursor.fetchmany(2)
for fila in algunas_filas:
    print(f"Nombre: {fila[0]}, Edad: {fila[1]}")

Actualizar y eliminar datos

Para modificar registros existentes se usan los comandos UPDATE y DELETE:

                

Blogs

Book Recommendations