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

Fundamentos de SQLite en Python

Trabajar con bases de datos es esencial en casi cualquier aplicación moderna. Sin embargo, no siempre necesitas sistemas complejos y pesados como MySQL o PostgreSQL. Para proyectos pequeños, prototipos o aplicaciones locales, Python incluye una base de datos integrada perfecta: SQLite.

En esta guía, exploraremos a fondo cómo usar SQLite en Python. Aprenderás a realizar las operaciones básicas con bases de datos. También veremos ejemplos prácticos del comando UPDATE en SQLite usando Python.

¿Qué es SQLite y por qué usarlo?

SQLite es una base de datos relacional ligera e integrada. No necesita un servidor separado para funcionar. La base de datos SQLite se almacena directamente en un solo archivo en tu disco.

Principales ventajas de SQLite:

  • Viene incluida en la librería estándar de Python mediante el módulo sqlite3
  • No requiere instalación ni configuración de un servidor aparte
  • Ideal para aplicaciones locales y soluciones móviles
  • Fácil de usar y muy rápida con volúmenes pequeños de datos
  • Soporta consultas SQL estándar
  • Multiplataforma y portátil
  • Confiabilidad y estabilidad comprobadas

Conexión a una base de datos SQLite

Para trabajar con SQLite usamos el módulo estándar sqlite3. No necesitas instalarlo por separado, ya que viene incluido con Python.

import sqlite3

# Crear o conectar a la base de datos
conn = sqlite3.connect('ejemplo.db')

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

Al ejecutar este código, se crea el archivo de base de datos ejemplo.db en el directorio actual. Si el archivo ya existe, simplemente se conecta a la base de datos existente.

Creación de la estructura de la base de datos

Crear tablas

Para crear una tabla en SQLite usamos el comando CREATE TABLE. Veamos un ejemplo para almacenar información de usuarios:

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

conn.commit()

En este ejemplo creamos la tabla usuarios con cuatro columnas:

  • id — identificador único con autoincremento
  • nombre — nombre del usuario (campo obligatorio)
  • edad — edad del usuario
  • email — correo electrónico (valor único)

Crear índices para optimizar

Para mejorar el rendimiento de las consultas, puedes crear índices:

cursor.execute('''
    CREATE INDEX IF NOT EXISTS idx_usuarios_email ON usuarios(email)
''')

cursor.execute('''
    CREATE INDEX IF NOT EXISTS idx_usuarios_edad ON usuarios(edad)
''')

conn.commit()

Operaciones con datos

Insertar datos en la tabla

Para insertar un solo registro usamos el comando INSERT:

cursor.execute('''
    INSERT INTO usuarios (nombre, edad, email) 
    VALUES (?, ?, ?)
''', ('Ana', 30, 'ana@ejemplo.com'))

conn.commit()

Inserción masiva de datos

Para agregar varios registros a la vez usamos el método executemany:

datos_usuarios = [
    ('Carlos', 25, 'carlos@ejemplo.com'),
    ('María', 35, 'maria@ejemplo.com'),
    ('Diana', 28, 'diana@ejemplo.com'),
    ('Eva', 32, 'eva@ejemplo.com')
]

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

conn.commit()

Blogs

Book Recommendations