Curso de python nivel medio

¿Qué es SQLite?

SQLite es una biblioteca de software que proporciona un motor de bases de datos SQL ligero y autocontenido. A diferencia de otros sistemas de bases de datos como MySQL o PostgreSQL, SQLite no requiere un servidor independiente; los datos se almacenan en un archivo en tu disco. Esto lo hace ideal para aplicaciones pequeñas, prototipos o proyectos educativos.

¿Por qué usar SQLite en Python?

  • Fácil de usar: No necesitas instalar ni configurar un servidor de bases de datos.
  • Ligero: Todo se almacena en un único archivo de base de datos.
  • Integrado en Python: Python incluye soporte para SQLite de forma nativa a través del módulo sqlite3.

¿Cómo usar SQLite en Python?

Veamos cómo puedes crear, interactuar y manipular una base de datos SQLite en Python.

Paso 1: Conectar a una base de datos

Primero, necesitas conectar tu programa a una base de datos SQLite. Si la base de datos no existe, se creará automáticamente.

1import sqlite3
2
3# Conectar a la base de datos (o crearla si no existe)
4conexion = sqlite3.connect("mi_base_de_datos.db")
5
6# Crear un cursor para interactuar con la base de datos
7cursor = conexion.cursor()
8
9print("Conexión a la base de datos establecida.")
  • ¿Qué hace este código?:
    • Conecta a una base de datos llamada mi_base_de_datos.db. Si el archivo no existe, se crea.
    • Crea un cursor que se usa para ejecutar comandos SQL en la base de datos.
  • Resultado en pantalla:
    Conexión a la base de datos establecida.

Paso 2: Crear una tabla

Ahora que estás conectado, puedes crear una tabla en la base de datos.

1# Crear una tabla llamada "usuarios"
2cursor.execute("""
3CREATE TABLE IF NOT EXISTS usuarios (
4    id INTEGER PRIMARY KEY AUTOINCREMENT,
5    nombre TEXT NOT NULL,
6    edad INTEGER NOT NULL,
7    email TEXT UNIQUE NOT NULL
8)
9""")
10
11# Confirmar la creación de la tabla
12conexion.commit()
13
14print("Tabla 'usuarios' creada.")
  • ¿Qué hace este código?:
    • Crea una tabla llamada usuarios con columnas para id, nombre, edad y email.
    • PRIMARY KEY AUTOINCREMENT hace que id sea una clave primaria que se incrementa automáticamente.
    • commit() guarda los cambios en la base de datos.
  • Resultado en pantalla:
    Tabla 'usuarios' creada.

Paso 3: Insertar datos en la tabla

Una vez que la tabla está creada, puedes insertar datos en ella.

1# Insertar un nuevo usuario en la tabla
2cursor.execute("""
3INSERT INTO usuarios (nombre, edad, email) 
4VALUES ('Ana', 30, 'ana@example.com')
5""")
6
7# Confirmar la inserción de datos
8conexion.commit()
9
10print("Datos insertados en la tabla 'usuarios'.")
  • ¿Qué hace este código?:
    • Inserta un nuevo registro en la tabla usuarios con los valores especificados.
    • commit() guarda los cambios en la base de datos.
  • Resultado en pantalla:
    Datos insertados en la tabla 'usuarios'.

Paso 4: Consultar datos

Puedes recuperar datos de la base de datos usando una consulta SQL.

1# Consultar todos los usuarios de la tabla
2cursor.execute("SELECT * FROM usuarios")
3usuarios = cursor.fetchall()
4
5# Mostrar los resultados
6print("Usuarios en la base de datos:")
7for usuario in usuarios:
8    print(usuario)
  • ¿Qué hace este código?:
    • Ejecuta una consulta SQL para seleccionar todos los registros de la tabla usuarios.
    • fetchall() obtiene todos los resultados de la consulta.
    • Muestra cada usuario en la base de datos.
  • Resultado en pantalla:
    Usuarios en la base de datos:
    (1, 'Ana', 30, 'ana@example.com')

Paso 5: Actualizar y eliminar datos

También puedes actualizar y eliminar registros en la base de datos.

Actualizar datos

1# Actualizar la edad de un usuario
2cursor.execute("""
3UPDATE usuarios 
4SET edad = 31 
5WHERE nombre = 'Ana'
6""")
7
8# Confirmar los cambios
9conexion.commit()
10
11print("Edad del usuario 'Ana' actualizada.")
  • Resultado en pantalla:
    Edad del usuario 'Ana' actualizada.

Eliminar datos

1# Eliminar un usuario de la tabla
2cursor.execute("DELETE FROM usuarios WHERE nombre = 'Ana'")
3
4# Confirmar los cambios
5conexion.commit()
6
7print("Usuario 'Ana' eliminado de la base de datos.")
  • Resultado en pantalla:
    Usuario 'Ana' eliminado de la base de datos.

Paso 6: Cerrar la conexión

Finalmente, siempre debes cerrar la conexión con la base de datos cuando termines de trabajar con ella.

1# Cerrar la conexión
2conexion.close()
3
4print("Conexión a la base de datos cerrada.")
  • Resultado en pantalla:
    Conexión a la base de datos cerrada.

Conclusión

SQLite es una herramienta poderosa y fácil de usar para trabajar con bases de datos en Python. Con el módulo sqlite3, puedes crear y manipular bases de datos directamente desde tus programas de Python. Esto te permite almacenar y gestionar datos de manera eficiente en aplicaciones pequeñas o medianas. ¡Practica estos ejemplos y verás cómo puedes integrar bases de datos en tus proyectos de Python!

  • Loading...