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:
Seleccionando una columna específica en SQLAlchemy:
Sintaxis : sqlalchemy.select(*entidades)
Dónde: 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.
Núcleo de SQLAlchemy
En este ejemplo, hemos utilizado SQLAlchemy Core. Se hace referencia a la tabla de estudiantes ya creada que contiene 4 columnas, a saber, nombre , apellido , curso , puntuación . Pero solo seleccionaremos una columna específica. En el ejemplo, nos hemos referido a las columnas first_name y last_name . También se pueden proporcionar otras columnas en la lista de entidades.
Python
import sqlalchemy as db # Define the Engine (Connection Object) engine = db.create_engine("mysql+pymysql://\ root:password@localhost/Geeks4Geeks") # Create the Metadata Object meta_data = db.MetaData(bind=engine) db.MetaData.reflect(meta_data) # Get the `students` table from the Metadata object STUDENTS = meta_data.tables['students'] # SQLAlchemy Query to SELECT specific column query = db.select([ STUDENTS.c.first_name, STUDENTS.c.last_name ]) # Fetch all the records result = engine.execute(query).fetchall() # View the records for record in result: print("\n", record[0], record[1])
Producción:
SQLAlchemy ORM
En este ejemplo es similar al anterior excepto por el hecho de que está construido sobre SQLAlchemy ORM. SQLAlchemy ORM es una implementación más pythonica de SQLAlchemy, como puede ver en el código, hemos creado una clase de Python para hacer referencia a la tabla de estudiantes. La sintaxis es la misma en ambos casos con un cambio menor en la forma en que definimos los nombres de las columnas. Las columnas en ORM se definen mediante clases asignadas a ORM. El resultado es el mismo para ambos, ya que también hemos tomado las columnas first_name y last_name en este ejemplo.
Python
import sqlalchemy as db 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) # SQLAlCHEMY CORE QUERY TO FETCH SPECIFIC COLUMNS query = db.select([Students.first_name, Students.last_name]) # FETCH ALL THE RECORDS IN THE RESPONSE result = engine.execute(query).fetchall() # VIEW THE ENTRIES IN THE RESULT for record in result: print(record[0], record[1])
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