Curso SQLAlchemy

ORM de referencia en Python con modelos tipados, sesión unit of work, select() unificado, Alembic y soporte asíncrono estable.

Certificado profesional
SQLAlchemy
SQLAlchemy
Framework
18 horas
Michael Bayer
Documentación oficial
Actualizado: 05/05/2026

¡Desbloquea el curso completo!

IA
Ejercicios
Certificado
Entrar

Descripción del curso SQLAlchemy

SQLAlchemy es el ORM (Object Relational Mapper) de referencia del ecosistema Python. Creado por Michael Bayer en 2006 y evolucionado hasta la versión 2.x, combina en una única API el Core (expresiones SQL construidas desde Python) y el ORM (modelos declarativos mapeados a tablas), con soporte nativo para type hints y para async/await.

SQLAlchemy es la capa de persistencia por defecto en FastAPI, Flask y proyectos Python enterprise. Soporta los principales dialectos relacionales (PostgreSQL, MySQL/MariaDB, SQLite, Oracle, SQL Server) con una capa de abstracción que mantiene el código portable entre motores.

Que incluye este itinerario

El curso esta organizado en 8 módulos progresivos que recorren desde los fundamentos hasta los patrones de producción:

  • Fundamentos: arquitectura Core y ORM, create_engine, URL de dialecto, transacciones básicas.
  • Modelos declarativos: DeclarativeBase, Mapped, mapped_column, tipos modernos y constraints.
  • CRUD y transacciones: Session, Unit of Work, add, flush, commit, savepoints.
  • Relaciones: One-to-Many, Many-to-One, Many-to-Many, One-to-One, cascade y delete-orphan.
  • Consultas: select() 2.x, where, joins, agregados, subconsultas y window functions.
  • Rendimiento: lazy vs eager loading, joinedload, selectinload, problema N+1, bulk operations y connection pool.
  • Alembic: migraciones con autogenerate, upgrade, downgrade y resolución de ramas.
  • Async y testing: AsyncEngine, AsyncSession, fixtures con pytest y Testcontainers.

Stack moderno (SQLAlchemy 2)

El curso adopta el estilo 2.x en todos los ejemplos:

  • Modelos con class Base(DeclarativeBase): pass mas Mapped[int] y mapped_column, sin Column[int] legacy.
  • Consultas con session.execute(select(...)) y session.scalars(...), sin session.query(...) legacy.
  • Integración con Pydantic v2 (FastAPI), Flask-SQLAlchemy 3, SQLModel como opción en proyectos mixtos.
  • Alembic 1.14+ con compare_type=True, autogenerate de CHECK constraints y soporte para ALTER en SQLite por batch.
  • Tipos avanzados en PostgreSQL: JSONB, ARRAY, pgvector para casos de IA, UUID nativos, tipos temporales con zona horaria.

Documentación oficial

La documentación completa esta en https://docs.sqlalchemy.org/. Para Alembic, la referencia es https://alembic.sqlalchemy.org/. El código fuente y las issues estan en github.com/sqlalchemy/sqlalchemy.

Explorar más tecnologías

Descubre más tecnologías de programación y desarrollo de software

Alan Sastre - Autor del curso

Alan Sastre

Ingeniero de Software y formador, CEO en CertiDevs

Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, SQLAlchemy es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.