Saltar al contenido principal
Documentos
Funciones de cadenaDesencadenaBases de datosFunciones JSONFunciones matemáticasFunciones de fechaÍndicesSintaxis básicaGestión de Tablas y Esquemas

PostgreSQL ACTUALIZAR

La sentencia `UPDATE` de PostgreSQL se utiliza para modificar los registros existentes en una tabla. Te permite cambiar los valores de una o varias columnas para las filas que cumplan las condiciones especificadas.

Utilización

La sentencia `UPDATE` se emplea cuando necesitas cambiar los datos de una tabla sin borrar y volver a insertar filas. Requiere especificar la tabla, las columnas que se van a actualizar y los nuevos valores, a menudo acompañados de una cláusula "DONDE" para limitar el alcance.


UPDATE table_name
SET column1 = value1, column2 = value2, ...
[WHERE condition];

En esta sintaxis, `UPDATE nombre_tabla` especifica la tabla a modificar, y `SET` asigna nuevos valores a las columnas especificadas, opcionalmente filtrados por una condición `WHERE`.

Ejemplos

1. Actualización básica


UPDATE employees
SET salary = 50000
WHERE employee_id = 123;

Este ejemplo actualiza la columna `salario` a 50.000 para el empleado con un `id_empleado` de 123.

2. Actualizar varias columnas


UPDATE products
SET price = price * 1.1, stock = stock - 5
WHERE product_id = 456;

Aquí, el "precio" se incrementa en un 10% y las "existencias" se reducen en un 5 para el producto con "product_id" 456.

3. Actualización condicional con subconsulta


UPDATE customers
SET status = 'inactive'
WHERE last_order_date < (SELECT NOW() - INTERVAL '1 year');

Este ejemplo establece el "estado" en "inactivo" para los clientes que no han realizado un pedido en más de un año, utilizando una subconsulta para la condición de fecha.

4. Uso de la cláusula RETURNING


UPDATE employees
SET salary = 50000
WHERE employee_id = 123
RETURNING employee_id, salary;

Este ejemplo no sólo actualiza el `sueldo`, sino que también devuelve el `id_empleado` y el `sueldo` actualizado a efectos de verificación.

Consejos y buenas prácticas

  • Utiliza las cláusulas WHERE con prudencia. Utiliza siempre una cláusula "DONDE" para apuntar a filas concretas, evitando actualizaciones involuntarias en todas las filas de la tabla.
  • Haz una copia de seguridad de los datos antes de actualizar. Haz una copia de seguridad de tus datos antes de realizar grandes actualizaciones para evitar la pérdida de datos.
  • Prueba las actualizaciones con transacciones. Utiliza las transacciones para probar las actualizaciones, permitiéndote deshacer los cambios si no cumplen tus expectativas.
  • Controla el rendimiento. Comprueba periódicamente si el rendimiento se ve afectado, especialmente cuando actualices grandes conjuntos de datos o utilices condiciones complejas.
  • Ten en cuenta los problemas de concurrencia. Cuando actualices filas en un entorno multiusuario, ten en cuenta los posibles problemas de bloqueo. Considera la posibilidad de utilizar niveles de aislamiento adecuados para gestionar eficazmente las transacciones concurrentes.