PostgreSQL – Crear tablas en Python

Este artículo explorará el proceso para crear nuevas tablas en la base de datos PostgreSQL usando Python.

Pasos para crear tablas PostgreSQL en Python

Para crear una nueva tabla en una base de datos PostgreSQL, utilice los siguientes pasos:

  1. Primero, construya sentencias CREATE TABLE.
  2. Luego, conéctese a la base de datos PostgreSQL llamando a la función connect(). La función connect() devuelve un objeto de conexión.
  3. Luego, cree un objeto de cursor llamando al método cursor() del objeto de conexión.
  4. Después de eso, ejecute CREATE TABLE llamando al método execute() del objeto cursor.
  5. Finalmente, cierre la comunicación con el servidor de la base de datos PostgreSQL llamando a los métodos close() del cursor y los objetos de conexión.

Crear un programa de Python –

Primero, cree un nuevo archivo llamado create_table.py.

En segundo lugar, dentro del archivo create_table.py, defina una nueva función llamada create_tables().

La función create_tables() crea cuatro tablas en la base de datos de proveedores: proveedores, partes, partes_proveedor y dibujos_partes.

Python3

#!/usr / bin / python
  
import psycopg2
from config import config
  
  
def create_tables():
    """ create tables in the PostgreSQL database"""
    commands = (
        """
        CREATE TABLE vendors (
            vendor_id SERIAL PRIMARY KEY,
            vendor_name VARCHAR(255) NOT NULL
        )
        """,
        """ CREATE TABLE parts (
                part_id SERIAL PRIMARY KEY,
                part_name VARCHAR(255) NOT NULL
                )
        """,
        """
        CREATE TABLE part_drawings (
                part_id INTEGER PRIMARY KEY,
                file_extension VARCHAR(5) NOT NULL,
                drawing_data BYTEA NOT NULL,
                FOREIGN KEY (part_id)
                REFERENCES parts (part_id)
                ON UPDATE CASCADE ON DELETE CASCADE
        )
        """,
        """
        CREATE TABLE vendor_parts (
                vendor_id INTEGER NOT NULL,
                part_id INTEGER NOT NULL,
                PRIMARY KEY (vendor_id, part_id),
                FOREIGN KEY (vendor_id)
                    REFERENCES vendors (vendor_id)
                    ON UPDATE CASCADE ON DELETE CASCADE,
                FOREIGN KEY (part_id)
                    REFERENCES parts (part_id)
                    ON UPDATE CASCADE ON DELETE CASCADE
        )
        """)
    conn = None
    try:
        # read the connection parameters
        params = config()
        # connect to the PostgreSQL server
        conn = psycopg2.connect(**params)
        cur = conn.cursor()
        # create table one by one
        for command in commands:
            cur.execute(command)
        # close communication with the PostgreSQL database server
        cur.close()
        # commit the changes
        conn.commit()
    except (Exception, psycopg2.DatabaseError) as error:
        print(error)
    finally:
        if conn is not None:
            conn.close()
  
  
if __name__ == '__main__':
    create_tables()

Ejecute el programa Python –

Para ejecutar el programa Python, utiliza el siguiente comando:

python create_table.py

Verifique la creación de la tabla –

Primero, inicie sesión en el servidor de la base de datos PostgreSQL usando el programa psql.

En segundo lugar, use el comando \dt para mostrar la lista de tablas de la base de datos de proveedores.

suppliers=# \dt

             List of relations
 Schema |     Name      | Type  |  Owner
--------+---------------+-------+----------
 public | part_drawings | table | postgres
 public | parts         | table | postgres
 public | vendor_parts  | table | postgres
 public | vendors       | table | postgres
(4 rows)

Como puede ver claramente en la salida, tenemos cuatro tablas creadas con éxito en la base de datos de proveedores.

Si usa otras herramientas de cliente como pgAdmin, puede ver las tablas a través de la lista de tablas en el esquema público.

Publicación traducida automáticamente

Artículo escrito por imabadassbabua 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 *