En este artículo, veremos cómo insertar 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 como se muestra a continuación
Creando una tabla usando SQLAlchmey 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)
Python3
# import necessary packages from sqlalchemy import create_engine,/ MetaData, Table, Column, Integer, String # establish connection engine = create_engine( "database+dialect://username:password@hostname:port/database_name") # 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) engine.execute(statement1) engine.execute(statement2) engine.execute(statement3) engine.execute(statement4) engine.execute(statement5)
Producción:
Insertar valores NULL usando SQLAlchemy en PostgreSQL
Usemos la misma función insert() y values() para insertar valores NULL. En python, el equivalente NULL es Ninguno. Por lo tanto, especifique Ninguno para los registros que desea insertar como valores NULL, como se muestra a continuación.
Python3
# specify null values as NONE statement6 = book_publisher.insert().values( publisherId=6, publisherName=None, publisherEstd=None) # insert the null values engine.execute(statement6)
Producción:
Puede ver un nuevo registro insertado en la fila 6.
Obtener los resultados anteriores usando Python Shell
Aquí vamos a buscar los resultados usando los métodos fetchall().
Python3
# Get the `book_publisher` table from the # Metadata object import sqlalchemy book_publisher = meta.tables['book_publisher'] # SQLAlchemy Query to fetch all records query = sqlalchemy.select([ book_publisher]) # Fetch all the records result = engine.execute(query).fetchall() # View the records for record in result: print("\n", record)
Producción:
Publicación traducida automáticamente
Artículo escrito por jssuriyakumar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA