Bases de Datos con SQLite3
SQLite3 es una base de datos ligera, fácil de configurar y embebida en aplicaciones. Es ideal para prototipos, aplicaciones pequeñas y herramientas locales que no requieren un servidor independiente.
Conceptos Clave
- Ligereza: No requiere configuración de servidor, los datos se almacenan en un archivo local.
- SQL estándar: Utiliza el lenguaje SQL para consultas y administración.
- Portabilidad: Las bases de datos se almacenan en archivos que pueden moverse fácilmente entre sistemas.
- Uso común: Perfecta para entornos de prueba o proyectos con requisitos mínimos.
Ejemplos
Ejemplo 1: Crear una base de datos y una tabla
import sqlite3
= sqlite3.connect("mi_base_datos.db")
conexion = conexion.cursor()
cursor """
cursor.execute(CREATE TABLE IF NOT EXISTS productos (
id INTEGER PRIMARY KEY,
nombre TEXT NOT NULL,
precio REAL NOT NULL
)
""")
conexion.commit() conexion.close()
En el ejemplo anterior, se crea una base de datos llamada mi_base_datos.db con una tabla productos que contiene columnas para id, nombre y precio.
Ejemplo 2: Insertar datos
= sqlite3.connect("mi_base_datos.db")
conexion = conexion.cursor()
cursor "INSERT INTO productos (nombre, precio) VALUES ('Laptop', 1200.50)")
cursor.execute(
conexion.commit() conexion.close()
En este caso, se inserta un nuevo producto en la tabla productos con nombre “Laptop” y precio 1200.50.
Ejemplo 3: Leer datos
{fig-align=“center” width=“400}
= sqlite3.connect("mi_base_datos.db")
conexion = conexion.cursor()
cursor "SELECT * FROM productos")
cursor.execute(print(cursor.fetchall())
conexion.close()
La consulta SELECT * FROM productos recupera todos los registros de la tabla productos y los imprime en pantalla.
Ejemplo 4: Actualizar y eliminar datos
= sqlite3.connect("mi_base_datos.db")
conexion = conexion.cursor()
cursor "UPDATE productos SET precio = 1100.00 WHERE nombre = 'Laptop'")
cursor.execute("DELETE FROM productos WHERE nombre = 'Laptop'")
cursor.execute(
conexion.commit() conexion.close()
Ejemplo Práctico
Objetivo: Crear, administrar y consultar una base de datos de “productos”.
Descripción: Se implementará un pequeño sistema que permite agregar, listar y buscar productos utilizando SQLite3.
Instrucciones:
Crea una base de datos llamada tienda.db.
Define una tabla productos con columnas id, nombre y precio.
Permite agregar y listar productos desde un script Python.
Posible solución
Código:
import sqlite3
def conectar():
return sqlite3.connect("tienda.db")
def crear_tabla():
= conectar()
conexion = conexion.cursor()
cursor """
cursor.execute( CREATE TABLE IF NOT EXISTS productos (
id INTEGER PRIMARY KEY,
nombre TEXT NOT NULL,
precio REAL NOT NULL
)
""")
conexion.commit()
conexion.close()
def agregar_producto(nombre, precio):
= conectar()
conexion = conexion.cursor()
cursor "INSERT INTO productos (nombre, precio) VALUES (?, ?)", (nombre, precio))
cursor.execute(
conexion.commit()
conexion.close()
def listar_productos():
= conectar()
conexion = conexion.cursor()
cursor "SELECT * FROM productos")
cursor.execute(for fila in cursor.fetchall():
print(fila)
conexion.close()
# Uso
crear_tabla()"Mouse", 25.99)
agregar_producto("Teclado", 45.50)
agregar_producto(print("Productos registrados:")
listar_productos()
Conclusiones
SQLite3 es una excelente opción para proyectos pequeños y prototipos que requieren una base de datos local. Su facilidad de uso y portabilidad lo convierten en una herramienta versátil para el desarrollo de aplicaciones.