En este artículo, veremos cómo consultar y seleccionar columnas específicas usando SQLAlchemy en Python.
Para nuestros ejemplos, ya hemos creado una tabla de Estudiantes que usaremos:
Seleccionar una columna específica en SQLAlchemy según el filtro:
- Para seleccionar una columna específica en SQLAlchemy
Sintaxis: sqlalchemy.select(*entidades)
entidades: Entidades para SELECCIONAR. Esto suele ser una serie de ColumnElement para el uso de Core y clases asignadas a ORM para el uso de ORM.
- Para filtrar registros en SQLAlchemy
Sintaxis: sqlalchemy.query.filter(*criterio)
criterio: Criterio es uno o más criterios para seleccionar los registros.
Ejemplo 1: Seleccionar una columna específica basada en un solo filtro
Python
import sqlalchemy as db from sqlalchemy.orm import sessionmaker from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() # DEFINE THE ENGINE (CONNECTION OBJECT) engine = db.create_engine("mysql+pymysql://\ root:password@localhost/Geeks4Geeks") # CREATE THE TABLE MODEL TO USE IT FOR QUERYING class Students(Base): __tablename__ = 'students' first_name = db.Column(db.String(50), primary_key=True) last_name = db.Column(db.String(50), primary_key=True) course = db.Column(db.String(50)) score = db.Column(db.Float) # CREATE THE SESSION OBJECT Session = sessionmaker(bind=engine) session = Session() # SELECTING COLUMN `first_name`, `last_name` WHERE `score > 80` result = session.query(Students) \ .with_entities(Students.first_name, Students.last_name) \ .filter(Students.score > 80).all() for r in result: print(r.first_name, r.last_name)
Producción:
Ejemplo 2: Selección de una columna específica basada en múltiples filtros
Python3
import sqlalchemy as db from sqlalchemy.orm import sessionmaker from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() # DEFINE THE ENGINE (CONNECTION OBJECT) engine = db.create_engine("mysql+pymysql://\ root:password@localhost/Geeks4Geeks") # CREATE THE TABLE MODEL TO USE IT FOR QUERYING class Students(Base): __tablename__ = 'students' first_name = db.Column(db.String(50), primary_key=True) last_name = db.Column(db.String(50), primary_key=True) course = db.Column(db.String(50)) score = db.Column(db.Float) # CREATE THE SESSION OBJECT Session = sessionmaker(bind=engine) session = Session() # SELECTING COLUMN `first_name`, `score` # WHERE `score > 80` AND `course` is STATISTICS result = session.query(Students) \ .with_entities(Students.first_name, Students.score) \ .filter(Students.score > 80, Students.course.like('Statistics')).all() for r in result: print(r.first_name, r.score)
Producción:
Publicación traducida automáticamente
Artículo escrito por apathak092 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA