¿Por qué usar Python para bases de datos?
Python es una opción excelente para interactuar con bases de datos debido a bibliotecas robustas como SQLite, SQLAlchemy y Pandas. Estas herramientas permiten no solo acceder a información almacenada, sino también realizar análisis y transformaciones de datos de manera eficiente.
Configuración del entorno
Antes de comenzar, asegúrate de tener instalada la biblioteca sqlite3, que generalmente viene incluida con Python. Para instalar SQLAlchemy, puedes usar pip:
pip install SQLAlchemy
Conexión a una base de datos SQLite
Empecemos con un ejemplo simple de conexión a una base de datos SQLite. Crearemos una base de datos llamada ejemplo.db y una tabla usuarios:
import sqlite3
# Conectar o crear una base de datos
conexion = sqlite3.connect('ejemplo.db')
# Crear un cursor
cursor = conexion.cursor()
# Crear una tabla
cursor.execute('''CREATE TABLE IF NOT EXISTS usuarios (
id INTEGER PRIMARY KEY,
nombre TEXT,
edad INTEGER)''')
# Guardar cambios
conexion.commit()
conexion.close()
Insertar datos en la base de datos
Una vez creada la tabla, podemos insertar datos. Aquí tienes un ejemplo:
def insertar_usuario(nombre, edad):
conexion = sqlite3.connect('ejemplo.db')
cursor = conexion.cursor()
cursor.execute("INSERT INTO usuarios (nombre, edad) VALUES (?, ?)", (nombre, edad))
conexion.commit()
conexion.close()
insertar_usuario('Juan', 30)
insertar_usuario('Ana', 25)
Realizar consultas a la base de datos
Puedes recuperar información usando consultas. Veamos cómo obtener todos los usuarios:
def obtener_usuarios():
conexion = sqlite3.connect('ejemplo.db')
cursor = conexion.cursor()
cursor.execute("SELECT * FROM usuarios")
usuarios = cursor.fetchall()
conexion.close()
return usuarios
for usuario in obtener_usuarios():
print(usuario)
Usando SQLAlchemy para manejar bases de datos
SQLAlchemy ofrece una forma más abstracta y potente de interactuar con bases de datos. Puedes poner en práctica este ejemplo:
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
Base = declarative_base()
class Usuario(Base):
__tablename__ = 'usuarios'
id = Column(Integer, primary_key=True)
nombre = Column(String)
edad = Column(Integer)
engine = create_engine('sqlite:///ejemplo.db')
Base.metadata.create_all(engine)
Session = sessionmaker(bind=engine)
session = Session()
# Crear un nuevo usuario
nuevo_usuario = Usuario(nombre='Luis', edad=22)
session.add(nuevo_usuario)
session.commit()
Deja una respuesta