domingo, 5 de diciembre de 2021

Trabajando con PostgreSQL en la nube, actualización de registros (UPDATE) desde Python

Hola a todos, hoy vamos a continuar con la serie de publicaciones asociadas a trabajar con  PostgreSQL en la nube. Ya vimos como crear una tabla, insertar registros y consultarlos.
Ahora, vamos a ver como podemos actualizar los registros que ya están almacenados en las tablas de nuestra base de datos.

El ejercicio lo vamos a desarrollar en la misma base y tabla con las que trabajamos en el post anterior.

La tarea que queremos realizar es buscar en nuestra tabla contacts el registro con id = 5 y actualizar el nombre a: Juliana Dominguez.


Actualmente, el registro con id = 5 tiene en el campo name John Doe.

Veamos como sería el código, para cumplir con el objetivo de actualizar el registro:


Frente al script que construimos en la publicación anterior hay un par de cambios importantes. 
El primero es que la instrucción SQL ya no es SELECT, ahora es UPDATE y no necesitamos llamar el método fetchall(), dado que UPDATE no devuelve ningún registro. Pero si necesitamos llamar el método commit(), que nos va a confirmar la ejecución de nuestro código SQL en la base de datos.

Al ejecutar el script tenemos:


Si volvemos a ejecutar el script del ejemplo anterior podemos comprobar la actualización del registro:


Podemos ver en la imagen el registro actualizado con el nuevo nombre.

A continuación el código fuente:

#Created on 4/12/2021
#@author: Eduardo Alzate
#Conexion y actualización de registros eb una base de datos en la nube
#!pip install psycopg2
import psycopg2
#Informacion de conexion
host = "castor.db.elephantsql.com"
dbname = "Ingrese el nombre de la BD"
user = "Ingrese el Usuario"
password = "Ingrese la Contraseña"
sslmode = "require"
# Conexion
conn_string = "host={0} user={1} dbname={2} password={3} sslmode={4}".format(host, user, dbname, password, sslmode)
conn = psycopg2.connect(conn_string)
print('Base de datos conectada con exito')
cur = conn.cursor()
cur.execute("UPDATE contacts SET name = 'Juliana Dominguez' WHERE id = 5")
conn.commit()
print('\nOperacion finalizada con exito!!')
conn.close()
view raw PgSQLUpdate.py hosted with ❤ by GitHub


No hay comentarios.:

Publicar un comentario