¿Cómo obtener nombres de columna de SQLAlchemy?

En este artículo, discutiremos cómo obtener nombres de columna usando SQLAlchemy en Python.

SQLAlchemy es un kit de herramientas SQL de código abierto y un mapeador relacional de objetos para el lenguaje de programación Python publicado bajo la licencia MIT. Le da todo el poder y la flexibilidad de SQL a una aplicación. Para continuar con este artículo, necesitamos tener sqlalchemy y cualquier base de datos instalada en nuestro sistema. Hemos utilizado la base de datos MySQL para la comprensión de este artículo.

Para instalar sqlalchemy usando pip:

pip install sqlalchemy

Para nuestros ejemplos, ya hemos creado una tabla de perfil con el nombre de esquema Geeks4Geeks, que usaremos:

Hay diferentes formas a través de las cuales podemos obtener los nombres de las columnas en SQLAlchemy.

Método 1: Usar teclas()

Aquí usaremos los métodos key() para obtener los nombres de las columnas. Devuelve una vista iterable que produce las claves de string que estarían representadas por cada Fila.

Sintaxis: sqlalchemy.engine.Result.keys()

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 Profile(Base):
 
    __tablename__ = 'profile'
 
    email = db.Column(db.String(50), primary_key=True)
    name = db.Column(db.String(100))
    contact = db.Column(db.Integer)
 
 
# PREPARING SQLALCHEMY QUERY
with engine.connect() as conn:
    result = conn.execute(
        db.select([Profile.email, Profile.name,
                   Profile.contact]))
 
# VIEW THE COLUMN NAMES
print(result.keys())

Producción:

En el ejemplo anterior, hemos utilizado SQLAlchemy ORM para crear una tabla de perfiles. 

  • En primer lugar, el motor está configurado para que pueda utilizarse para realizar transacciones SQL. 
  • Luego, la tabla de perfiles se define en forma de clase ORM.
  • Usando el motor sqlalchemy estamos consultando la tabla de perfil para seleccionar todos los registros de la tabla para las columnas de correo electrónico, nombre y contacto. La información se almacena en la variable de resultado. Esta variable contiene los nombres de las columnas y los registros que se han obtenido de la tabla Perfil. El tipo de datos de la variable de resultado es sqlalchemy.engine.Result.
  • Para acceder a los nombres de las columnas, podemos usar el método keys() en el resultado. Devuelve una lista de nombres de columna.
  • Dado que consultamos solo tres columnas, también podemos ver las mismas columnas en la salida.

Método 2: usar metadatos de tabla

Esto devuelve la ‘clave’ para los metadatos de la tabla.

Sintaxis: sqlalchemy.schema.Table.key

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 Profile(Base):
 
    __tablename__ = 'profile'
 
    email = db.Column(db.String(50), primary_key=True)
    name = db.Column(db.String(100))
    contact = db.Column(db.Integer)
 
 
# PREPARING SQLALCHEMY QUERY
with engine.connect() as conn:
    result = conn.execute(
        db.select([Profile.email, Profile.name,
                   Profile.contact]))
 
# VIEW THE COLUMN NAMES
print(result._metadata.keys)

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

Deja una respuesta

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