Introducción a SQLite3 y Python
Si estás buscando una forma sencilla de gestionar bases de datos en tus proyectos de Python, SQLite3 es una excelente opción. SQLite es una base de datos ligera, rápida y sin servidor, ideal para aplicaciones pequeñas y medianas.
En esta guía te mostraremos cómo conectarse a SQLite3 con Python paso a paso, desde la instalación hasta la ejecución de tus primeras consultas. ¡Sigue leyendo para descubrir lo fácil que es!
¿Qué es SQLite3 y por qué usarlo con Python?
SQLite3 es un sistema de gestión de bases de datos relacional que almacena toda la información en un solo archivo. Es muy popular en el desarrollo de aplicaciones móviles, sitios web y herramientas de escritorio por su simplicidad y portabilidad.
Python incluye un módulo integrado llamado sqlite3, lo que hace que conectarse a una base de datos SQLite3 desde Python sea sumamente sencillo, sin necesidad de instalar librerías adicionales.
Requisitos previos
- Tener Python instalado en tu sistema (Python 3.x recomendado).
- Editor de código o IDE de tu preferencia.
- No es necesario instalar SQLite3, ya que viene incluido en la biblioteca estándar de Python.
Paso a paso: ¿Cómo conectarse a SQLite3 con Python?
Paso 1: Importar el módulo sqlite3
Lo primero que debes hacer es importar el módulo sqlite3 en tu script de Python:
import sqlite3
Paso 2: Crear o conectar a una base de datos
Para establecer una conexión a SQLite3 usando Python, utiliza la función sqlite3.connect(). Si el archivo de la base de datos no existe, se creará automáticamente.
# Conectar a una base de datos llamada mi_base_de_datos.db
conexion = sqlite3.connect(mi_base_de_datos.db)
Puedes cambiar mi_base_de_datos.db por el nombre que desees para tu archivo de base de datos.
Paso 3: Crear un cursor
El cursor es el objeto que te permite ejecutar sentencias SQL en la base de datos.
cursor = conexion.cursor()
Paso 4: Crear una tabla (opcional)
Ahora puedes crear una tabla para almacenar tus datos. Por ejemplo:
cursor.execute(
CREATE TABLE IF NOT EXISTS usuarios (
id INTEGER PRIMARY KEY AUTOINCREMENT,
nombre TEXT NOT NULL,
edad INTEGER
)
)
Esta instrucción crea una tabla llamada usuarios con tres columnas: id, nombre y edad.
Paso 5: Insertar datos en la tabla
Para insertar registros en la tabla, puedes usar el siguiente código:
cursor.execute("INSERT INTO usuarios (nombre, edad) VALUES (?, ?)", ("Ana", 28))
cursor.execute("INSERT INTO usuarios (nombre, edad) VALUES (?, ?)", ("Luis", 34))
Paso 6: Guardar los cambios
Es importante guardar los cambios realizados en la base de datos usando commit():
conexion.commit()
Paso 7: Consultar datos
Para recuperar información de la base de datos, utiliza una sentencia SELECT:
cursor.execute("SELECT * FROM usuarios")
filas = cursor.fetchall()
for fila in filas:
print(fila)
Este código mostrará todos los registros almacenados en la tabla usuarios.
Paso 8: Cerrar la conexión
Finalmente, cierra la conexión a la base de datos para liberar recursos:
conexion.close()
Ejemplo completo: Conexión a SQLite3 con Python
Aquí tienes un ejemplo completo que muestra cómo conectarse a SQLite3 con Python, crear una tabla, insertar datos y consultarlos:
import sqlite3
# Conectar a la base de datos (se crea si no existe)
conexion = sqlite3.connect(mi_base_de_datos.db)
cursor = conexion.cursor()
# Crear tabla
cursor.execute(
CREATE TABLE IF NOT EXISTS usuarios (
id INTEGER PRIMARY KEY AUTOINCREMENT,
nombre TEXT NOT NULL,
edad INTEGER
)
)
# Insertar datos
cursor.execute("INSERT INTO usuarios (nombre, edad) VALUES (?, ?)", ("Ana", 28))
cursor.execute("INSERT INTO usuarios (nombre, edad) VALUES (?, ?)", ("Luis", 34))
# Guardar cambios
conexion.commit()
# Consultar datos
cursor.execute("SELECT * FROM usuarios")
filas = cursor.fetchall()
for fila in filas:
print(fila)
# Cerrar conexión
conexion.close()
Consejos y buenas prácticas
- Usa try-except para manejar posibles errores al conectar o ejecutar consultas en la base de datos.
-
Recuerda cerrar siempre la conexión con
conexion.close()
para evitar pérdida de datos o corrupción del archivo. -
Si solo quieres trabajar en memoria (sin crear un archivo físico), puedes conectarte usando
sqlite3.connect(:memory:)
.
Conclusión
Ahora ya sabes cómo conectarse a SQLite3 con Python paso a paso. Has aprendido desde la importación del módulo hasta la creación de tablas, inserción y consulta de datos. SQLite3 y Python son la combinación perfecta para proyectos sencillos y prototipos rápidos.
¿Te animas a probarlo en tu próximo proyecto? ¡Conecta tu aplicación a SQLite3 usando Python y comienza a gestionar tus datos de forma fácil y eficiente!