SQL en Python con SQLAlchemy: instalación y primeros pasos

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Conceptos básicos de SQL en Python: instalación y uso de SQLAlchemy

Trabajar con bases de datos es una parte fundamental del desarrollo de software moderno. Ya sea que estés creando una aplicación web, desarrollando scripts para análisis de datos o construyendo servicios backend, saber gestionar datos con SQL es una habilidad esencial.

En este artículo, exploraremos a fondo el uso de SQL en Python con la potente librería SQLAlchemy. Aprenderás a instalar la librería, configurar conexiones a diferentes bases de datos y realizar operaciones básicas con datos.

¿Qué es SQLAlchemy?

SQLAlchemy es una de las librerías de Python más populares y completas para trabajar con bases de datos relacionales. Proporciona una forma sencilla y flexible de interactuar con distintos sistemas de gestión de bases de datos desde código Python.

SQLAlchemy es compatible con los siguientes sistemas de bases de datos:

  • MySQL
  • PostgreSQL
  • SQLite
  • Oracle
  • Microsoft SQL Server

Principales funcionalidades de SQLAlchemy

SQLAlchemy ofrece a los desarrolladores una amplia gama de capacidades:

  • Soporte directo de consultas SQL para máxima flexibilidad
  • ORM (Object-Relational Mapping) para trabajar con bases de datos mediante clases de Python
  • API unificada para diferentes sistemas de gestión de bases de datos
  • Alto rendimiento y facilidad de escritura de código
  • Gestión automática de conexiones a la base de datos
  • Protección integrada contra inyecciones SQL
  • Soporte para transacciones y pools de conexiones

Instalación de SQLAlchemy en Python

Instalación básica

El proceso de instalación de SQLAlchemy es muy sencillo y se realiza a través del gestor de paquetes pip:

pip install SQLAlchemy

Instalación en Jupyter Notebook

Para trabajar en un entorno Jupyter Notebook, usa el siguiente comando:

!pip install SQLAlchemy

Instalación de controladores adicionales

Para trabajar con diferentes sistemas de bases de datos, es posible que necesites controladores adicionales:

pip install pymysql      # para MySQL
pip install psycopg2     # para PostgreSQL  
pip install cx_Oracle    # para Oracle
pip install pyodbc       # para SQL Server

Verificación de la instalación

Después de instalar, comprueba la versión de SQLAlchemy:

import sqlalchemy
print(sqlalchemy.__version__)

Inicio rápido con SQLAlchemy

Importación de los módulos necesarios

Para empezar a trabajar con SQLAlchemy, primero debes importar los módulos principales:

from sqlalchemy import create_engine, Column, Integer, String, DateTime
from sqlalchemy.orm import declarative_base, sessionmaker
from datetime import datetime

Configuración de la conexión a la base de datos

Para demostrar las funcionalidades, usaremos SQLite, una base de datos ligera integrada en Python:

engine = create_engine('sqlite:///example.db', echo=True)

El parámetro echo=True permite ver todas las consultas SQL que ejecuta SQLAlchemy. Es útil para depurar y entender cómo funciona el ORM.

Creación de modelos con ORM

La creación de modelos de datos es la base del trabajo con el ORM de SQLAlchemy:

Base = declarative_base()

class User(Base):
    __tablename__ = 'users'
    
    id = Column(Integer, primary_key=True)
    name = Column(String, nullable=False)
    age = Column(Integer)
    created_at = Column(DateTime, default=datetime.utcnow)
    
    def __repr__(self):
        return f"<User(name='{self.name}', age={self.age})>"

Creación de la base de datos y las tablas

Una vez definidos los modelos, puedes crear las tablas en la base de datos:

Base.metadata.create_all(engine)

Este comando crea todas las tablas definidas en los modelos que heredan de Base. Si la tabla ya existe, no se modificará.

Blogs

Book Recommendations