SQLite en Python: Guía completa para principiantes

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

Trabajar con SQLite en Python: guía completa para desarrolladores principiantes y avanzados

Trabajar con bases de datos es una de las tareas más importantes al desarrollar aplicaciones. Si necesitas una solución ligera e integrada sin instalar servidores adicionales, SQLite es perfecto para ti.

Combinado con Python, gracias al módulo estándar sqlite3, puedes crear, modificar y gestionar bases de datos directamente desde tu código de forma rápida. En este artículo aprenderás a conectarte a SQLite, realizar inserciones (INSERT), actualizaciones (UPDATE) y mucho más.

¿Qué es SQLite y por qué elegirlo?

SQLite es una base de datos relacional embebida que almacena toda la información en un solo archivo. No requiere un servidor independiente y es ideal para prototipos, proyectos pequeños y aplicaciones móviles.

SQLite se utiliza ampliamente en diversas áreas del desarrollo de software. Muchas aplicaciones populares, como navegadores, mensajeros y apps móviles, usan SQLite para el almacenamiento local de datos.

Ventajas de SQLite

  • No requiere instalación de servidor
  • Alta velocidad de operación
  • Facilidad de uso
  • Excelente integración con Python mediante el módulo sqlite3
  • Multiplataforma y portabilidad
  • Soporte de transacciones ACID
  • Mínimo consumo de recursos

Limitaciones de SQLite

  • No soporta escrituras simultáneas de múltiples usuarios
  • Rendimiento limitado con grandes volúmenes de datos
  • Sin replicación integrada
  • Capacidades limitadas para aplicaciones multiusuario complejas

Conexión a una base de datos SQLite en Python

Conexión básica

import sqlite3

# Conexión a la base de datos (si el archivo no existe, se crea)
conn = sqlite3.connect('mi_base_de_datos.db')

# Creación del cursor para ejecutar consultas SQL
cursor = conn.cursor()

Conexión a una base de datos en memoria

Para almacenamiento temporal o pruebas, puedes usar una base de datos en memoria:

conn = sqlite3.connect(':memory:')

Configuración de parámetros de conexión

conn = sqlite3.connect('mi_base_de_datos.db', timeout=10)
conn.execute('PRAGMA foreign_keys = ON')  # Activar claves foráneas

Creación de tablas en SQLite

Creación de una tabla simple

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

Creación de una tabla con restricciones adicionales

cursor.execute('''
    CREATE TABLE IF NOT EXISTS productos (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        nombre TEXT NOT NULL UNIQUE,
        precio REAL CHECK(precio > 0),
        categoria TEXT DEFAULT 'sin_categoria',
        creado_en TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    )
''')
conn.commit()

Creación de índices para optimización

cursor.execute('''
    CREATE INDEX IF NOT EXISTS idx_usuarios_nombre ON usuarios(nombre)
''')
conn.commit()

Inserción de datos en la tabla — python sqlite3 insert

Inserción de un solo registro

Una de las consultas más comunes es cómo insertar datos en una tabla SQLite:

cursor.execute('''
    INSERT INTO usuarios (nombre, edad) VALUES (?, ?)
''', ('Carlos', 30))
conn.commit()

El uso de signos de interrogación protege contra inyecciones SQL y es el enfoque recomendado.

Inserción masiva de datos

usuarios = [('Ana                

Blogs

Book Recommendations