SQLAlchemy Core: uso de alias

En este artículo, vamos a ver Alias ​​en SQLAlchemy Core usando Python.

Creación de tabla para demostración.

Importe las funciones necesarias del paquete SQLAlchemy. Establezca una conexión con la base de datos PostgreSQL usando la función create_engine() como se muestra a continuación. Cree una tabla llamada libros con las columnas book_id y book_price. Inserte un registro en las tablas usando la función insert() y valores() como se muestra.

Python3

# import necessary packages
import sqlalchemy
from sqlalchemy import create_engine, MetaData,
Table, Column, Numeric, insert, Integer,
VARCHAR, update, text, delete
from sqlalchemy.engine import result
 
# establish connections
engine = create_engine(
    "database+dialect://username:password@hostname:port/database_name")
 
# initialize the Metadata Object
meta = MetaData(bind=engine)
MetaData.reflect(meta)
 
# create a table schema
books = Table(
    'books', meta,
    Column('book_id', Integer, primary_key=True),
    Column('book_price', Numeric),
    Column('genre', VARCHAR),
    Column('book_name', VARCHAR)
)
 
meta.create_all(engine)
# insert records into the table
statement1 = books.insert().values(book_id=1,
                                   book_price=12.2,
                                   genre='fiction',
                                   book_name='Old age')
statement2 = books.insert().values(book_id=2,
                                   book_price=13.2,
                                   genre='non-fiction',
                                   book_name='Saturn rings')
statement3 = books.insert().values(book_id=3,
                                   book_price=121.6,
                                   genre='fiction',
                                   book_name='Supernova')
statement4 = books.insert().values(book_id=4,
                                   book_price=100,
                                   genre='non-fiction',
                                   book_name='History of the world')
statement5 = books.insert().values(book_id=5,
                                   book_price=1112.2,
                                   genre='fiction',
                                   book_name='Sun city')
 
# execute the insert records statement
engine.execute(statement1)
engine.execute(statement2)
engine.execute(statement3)
engine.execute(statement4)
engine.execute(statement5)

Producción:

tabla de muestra

Implementando alias en SQLAlchemy

El alias de SQL es un método para dar un nombre temporal a una tabla que sea más conveniente y legible. El alias de SQL facilita el uso de un nombre simple en lugar de un nombre de tabla complejo cuando se debe usar varias veces en una consulta. La función alias() en el módulo sqlalchemy.sql representa un alias de SQL. Veamos ahora cómo implementar alias en la práctica.

from sqlalchemy.sql import alias
tablename.alias("a")

Obtenga la tabla de libros del objeto Metadata inicializado mientras se conecta a la base de datos. use el nombre de la tabla de alias mientras ejecuta la consulta y obtenga todos los resultados usando la función fetchall(). Use un bucle for para iterar a través de los resultados.

La siguiente consulta selecciona los registros donde book_id > 3 con «b» como nombre de alias para la tabla BOOKS.

Python3

# Get the `books` table from the Metadata object
from sqlalchemy.sql import alias, select
BOOKS = meta.tables['books']
 
b = BOOKS.alias("a")
s = select([b]).where(b.c.book_id > 2)
 
# Fetch all the records
result = engine.execute(s).fetchall()
 
# View the records
for record in result:
    print("\n", record)

Producción:

La salida de la función de alias

Publicación traducida automáticamente

Artículo escrito por jssuriyakumar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *