Cómo actualizar el valor de una columna en una tabla de Postgres desde Python basándose en una condición.
Tengo una tabla de postgres llamada (Alpha)
con los siguientes valores
Alpha
ID Exp_Date Active_Status
1 7-12-2021 active
2 8-12-2021 active
3 15-12-2021 active
4 15-12-2021 active
5 11-12-2021 expired
6 1-12-2021 expired
7 6-12-2021 expired
Mi cadena de conexión
postgres_str = f'postgresql://{username}:{password}@{host}:{port}/{dbname}'
# Crear la conexión y el cursor
rds_conn = psycopg2.connect(postgres_str)
rds_cur = rds_conn.cursor()
Deseo actualizar el Active_Status
a expired basado en dos condiciones
- si
Exp_date
es menor que lafecha del sistema (fecha de hoy)
- si
Active_Status ='active'
Salida esperada
ID Exp_Date Active_Status
1 7-12-2021 expired
2 8-12-2021 expired
3 15-12-2021 active
4 15-12-2021 active
5 11-12-2021 expired
6 1-12-2021 expired
7 6-12-2021 expired
¿Cómo se puede escribir la consulta de actualización desde Python para postgres?
davy.ai
Para actualizar la columna
Active_Status
en la tablaAlpha
basándose en las condiciones dadas, puede utilizar la siguiente consulta SQL:Para ejecutar esta consulta desde Python utilizando la biblioteca
psycopg2
, puede utilizar el métodoexecute()
del objeto cursor de la siguiente manera:Esto actualizará la columna
Active_Status
en la tablaAlpha
según las condiciones dadas.