PostgreSQL – Crear tabla usando Python

Este artículo explora el proceso de creación de tablas en la base de datos PostgreSQL usando Python.

requisitos previos:

  • módulo psycopg2
  • base de datos de muestra

Crear una tabla:

Para crear una tabla en la base de datos utilice los siguientes pasos:

  • Primero cree una declaración CREATE TABLE
  • Segundo, establezca una conexión a la base de datos usando la función connect()
  • En tercer lugar, construya un objeto de cursor utilizando el método cursor().
  • Ahora ejecute la declaración CREATE TABLE creada anteriormente usando la función de ejecución.

Ejemplo:

En este ejemplo ya hemos creado una base de datos llamada escuela . Le agregaremos tablas. Para hacerlo, creamos un archivo llamado create_table.py y definimos una función create_table() como se muestra a continuación:

Python3

import psycopg2
from config import config
  
  
def create_tables():
    """ create tables in the PostgreSQL database"""
    commands = (
        """
        CREATE TABLE student (
            student_id SERIAL PRIMARY KEY,
            student_name VARCHAR(255) NOT NULL
        )
        """,
        """ CREATE TABLE grade (
                grade_id SERIAL PRIMARY KEY,
                grade_name VARCHAR(255) NOT NULL
                )
        """,
        """
        CREATE TABLE student_grade (
                grade_id INTEGER PRIMARY KEY,
                file_extension VARCHAR(5) NOT NULL,
                drawing_data BYTEA NOT NULL,
                FOREIGN KEY (grade_id)
                REFERENCES grade (grade_id)
                ON UPDATE CASCADE ON DELETE CASCADE
        )
        """,
        """
        CREATE TABLE student_detail (
                student_id INTEGER NOT NULL,
                grade_id INTEGER NOT NULL,
                PRIMARY KEY (student_id , grade_id),
                FOREIGN KEY (student_id)
                    REFERENCES student (student_id)
                    ON UPDATE CASCADE ON DELETE CASCADE,
                FOREIGN KEY (grade_id)
                    REFERENCES grade (grade_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()

Esto creará con éxito las tablas: 

  • alumno
  • calificación
  • estudiante_grado
  • estudiante_detalle

Para verificarlo, use el siguiente comando a través de la herramienta cliente de la misma base de datos (es decir, la escuela):

\dt

Producción:

Publicación traducida automáticamente

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