PostgreSQL - Consulta de ACTUALIZACIÓN

El PostgreSQL UPDATELa consulta se utiliza para modificar los registros existentes en una tabla. Puede usar la cláusula WHERE con la consulta UPDATE para actualizar las filas seleccionadas. De lo contrario, se actualizarían todas las filas.

Sintaxis

La sintaxis básica de la consulta UPDATE con la cláusula WHERE es la siguiente:

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

Puede combinar N número de condiciones utilizando operadores AND u OR.

Ejemplo

Considere la tabla EMPRESA , que tiene registros de la siguiente manera:

testdb# select * from COMPANY;
 id | name  | age | address   | salary
----+-------+-----+-----------+--------
  1 | Paul  |  32 | California|  20000
  2 | Allen |  25 | Texas     |  15000
  3 | Teddy |  23 | Norway    |  20000
  4 | Mark  |  25 | Rich-Mond |  65000
  5 | David |  27 | Texas     |  85000
  6 | Kim   |  22 | South-Hall|  45000
  7 | James |  24 | Houston   |  10000
(7 rows)

El siguiente es un ejemplo, que actualizaría ADDRESS para un cliente, cuyo ID es 6 -

testdb=# UPDATE COMPANY SET SALARY = 15000 WHERE ID = 3;

Ahora, la tabla EMPRESA tendría los siguientes registros:

id | name  | age | address    | salary
----+-------+-----+------------+--------
  1 | Paul  |  32 | California |  20000
  2 | Allen |  25 | Texas      |  15000
  4 | Mark  |  25 | Rich-Mond  |  65000
  5 | David |  27 | Texas      |  85000
  6 | Kim   |  22 | South-Hall |  45000
  7 | James |  24 | Houston    |  10000
  3 | Teddy |  23 | Norway     |  15000
(7 rows)

Si desea modificar todos los valores de las columnas DIRECCIÓN y SALARIO en la tabla EMPRESA, no necesita usar la cláusula DONDE y la consulta ACTUALIZAR sería la siguiente:

testdb=# UPDATE COMPANY SET ADDRESS = 'Texas', SALARY=20000;

Ahora, la tabla EMPRESA tendrá los siguientes registros:

id | name  | age | address | salary
----+-------+-----+---------+--------
  1 | Paul  |  32 | Texas   |  20000
  2 | Allen |  25 | Texas   |  20000
  4 | Mark  |  25 | Texas   |  20000
  5 | David |  27 | Texas   |  20000
  6 | Kim   |  22 | Texas   |  20000
  7 | James |  24 | Texas   |  20000
  3 | Teddy |  23 | Texas   |  20000
(7 rows)