PostgreSQL: inserte datos en una tabla usando Python

En este artículo, analizaremos el proceso de inserción de datos en una tabla de PostgreSQL usando Python. Para hacerlo, siga los siguientes pasos:

  • Paso 1 : Conéctese a la base de datos PostgreSQL usando el método connect() del módulo psycopg2.
conn = psycopg2.connect(dsn)
  • Paso 2:  Cree un nuevo objeto de cursor haciendo una llamada al método cursor()
cur = conn.cursor()
  • Paso 3: ahora ejecute la declaración INSERT ejecutando el método execute()
cur.execute(sql, (value1,value2))
  • Paso 4: después de insertar los datos, llame al método commit() para que los cambios sean permanentes.
conn.commit()
  • Paso 5: Ahora termine el cursor y la conexión a la base de datos.
cur.close()
conn.close()

Ejemplo:

Por ejemplo, usaremos la tabla Student de la base de datos de la escuela que creamos en las secciones anteriores de la serie de artículos.

Aquí crearemos una función insert_student() para insertar la fila nombre_estudiante en la tabla de estudiantes:

Python3

#!/usr/bin/python
  
import psycopg2
from config import config
  
  
def insert_student(student_name):
    """ insert a new vendor into the vendors table """
    sql = """INSERT INTO students(student_name)
             VALUES(%s) RETURNING student_id;"""
    conn = None
    student_id = None
    try:
        # read database configuration
        params = config()
        # connect to the PostgreSQL database
        conn = psycopg2.connect(**params)
        # create a new cursor
        cur = conn.cursor()
        # execute the INSERT statement
        cur.execute(sql, (student_name,))
        # get the generated id back
        student_id = cur.fetchone()[0]
        # commit the changes to the database
        conn.commit()
        # close communication with the database
        cur.close()
    except (Exception, psycopg2.DatabaseError) as error:
        print(error)
    finally:
        if conn is not None:
            conn.close()
  
    return student_id

Ahora, para verificar la inserción, use el siguiente comando en el shell psql :

SELECT * FROM student;

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 *