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