En este artículo, veremos cómo seleccionar valores NULL en una base de datos PostgreSQL usando SQLAlchemy en Python.
Primero con fines de demostración, creemos una tabla de muestra usando SQLAlchemy en PostgreSQL como se muestra a continuación
Creando una tabla usando SQLAlchemy en PostgreSQL:
- 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 book_publisher con las columnas Publisher_id, Publisher_name y Publisher_estd
- Inserte un registro en las tablas usando la función insert() y valores() como se muestra.
Sintaxis: motor = crear_motor(dialecto+controlador://nombre de usuario:contraseña@host:puerto/nombre_de_la_base_de_datos)
Parámetros:
- dialecto – Nombre del DBMS. El dialecto es el sistema que usa SQLAlchemy para comunicarse con varios tipos de DBAPI y bases de datos como PostgreSQL, MySQL, MS SQL, etc.
- controlador : nombre de la API de base de datos que mueve información entre SQLAlchemy y la base de datos.
- Nombre de usuario – Nombre del administrador
- Contraseña – Contraseña del administrador
- host : nombre del host en el que se aloja la base de datos
- puerto : número de puerto a través del cual se puede acceder a la base de datos
- database_name – Nombre de la base de datos
Creación de tabla para demostración:
Python3
# import necessary packages from sqlalchemy import create_engine, MetaData,/ Table, Column, Integer, String # establish connection engine = create_engine( "postgresql+psycopg2://\ postgres:Saibaba97%40@127.0.0.1:5432/test") # store engine objects meta = MetaData() # create a table book_publisher = Table( 'book_publisher', meta, Column('publisherId', Integer, primary_key=True), Column('publisherName', String), Column('publisherEstd', Integer), ) # use create_all() function to create a # table using objects stored in meta. meta.create_all(engine) # insert values statement1 = book_publisher.insert().values( publisherId=1, publisherName="Oxford", publisherEstd=1900) statement2 = book_publisher.insert().values( publisherId=2, publisherName='Stanford', publisherEstd=1910) statement3 = book_publisher.insert().values( publisherId=3, publisherName="MIT", publisherEstd=1920) statement4 = book_publisher.insert().values( publisherId=4, publisherName="Springer", publisherEstd=1930) statement5 = book_publisher.insert().values( publisherId=5, publisherName="Packt", publisherEstd=1940) statement6 = book_publisher.insert().values( publisherId=6, publisherName=None, publisherEstd=None) engine.execute(statement1) engine.execute(statement2) engine.execute(statement3) engine.execute(statement4) engine.execute(statement5) engine.execute(statement6)
Producción:
Seleccionando valores NULL usando SQLAlchemy en PostgreSQL
Usando select() y la función where, podemos consultar datos de nuestra base de datos. El equivalente NULL en python es None .
Las demás cosas siguen siendo las mismas, como las consultas SQL convencionales. La consulta se pasa a una declaración de ejecución() y la salida se almacena en un objeto de resultado y las filas se pueden iterar para obtener todas las filas
Código:
Python3
# write a conventional SQL query # with NULL equivalent as None s = book_publisher.select().where( book_publisher.c.publisherName == None) # output get stored in result object result = engine.execute(s) # iteratte through the result object # to get all rows of the output for row in result: print(row)
Producción:
Como sabemos por el resultado que se muestra arriba, la fila 6 tiene valores Ninguno y eso se devuelve correctamente en el siguiente resultado
(6, None, None)
Publicación traducida automáticamente
Artículo escrito por jssuriyakumar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA