Listado completo de tutoriales

9 - Actualizar registros (update)


Decimos que actualizamos un registro cuando modificamos alguno de sus valores.

Para modificar uno o varios datos de uno o varios registros utilizamos "update" (actualizar).

Por ejemplo, en nuestra tabla "usuarios", queremos cambiar los valores de todas las claves, por "RealMadrid":

 update usuarios set clave='RealMadrid';

Utilizamos "update" junto al nombre de la tabla y "set" junto con el campo a modificar y su nuevo valor.

El cambio afectará a todos los registros.

Podemos modificar algunos registros, para ello debemos establecer condiciones de selección con "where".
Por ejemplo, queremos cambiar el valor correspondiente a la clave de nuestro usuario llamado "Federicolopez", queremos como nueva clave "Boca", necesitamos una condición "where" que afecte solamente a este registro:

 update usuarios set clave='Boca'
  where nombre='Federicolopez';

Si PostgreSQL no encuentra registros que cumplan con la condición del "where", no se modifica ninguno.

Las condiciones no son obligatorias, pero si omitimos la cláusula "where", la actualización afectará a todos los registros.

También podemos actualizar varios campos en una sola instrucción:

 update usuarios set nombre='Marceloduarte', clave='Marce'
  where nombre='Marcelo';

Para ello colocamos "update", el nombre de la tabla, "set" junto al nombre del campo y el nuevo valor y separado por coma, el otro nombre del campo con su nuevo valor.

Ingresemos el siguiente lote de comandos SQL en pgAdmin:

 drop table if exists usuarios;
 
 create table usuarios(
  nombre varchar(20),
  clave varchar(10)
 );

 insert into usuarios (nombre,clave)
  values ('Marcelo','River');
 insert into usuarios (nombre,clave)
  values ('Susana','chapita');
 insert into usuarios (nombre,clave)
  values ('Carlosfuentes','Boca');
 insert into usuarios (nombre,clave)
  values ('Federicolopez','Boca');

 -- Cambiaremos los valores de todas las claves, por la cadena "RealMadrid":
 update usuarios set clave='RealMadrid';

 -- El cambio afectó a todos los registros, veámoslo:
 select * from usuarios;

 -- Necesitamos cambiar el valor de la clave del usuario llamado "Federicolopez" por "Boca":
 update usuarios set clave='Boca'
  where nombre='Federicolopez';

 -- Verifiquemos que la actualización se realizó:
 select * from usuarios;

 -- Vimos que si PostgreSQL no encuentra registros que cumplan con la condición no se 
 -- modifican registros:
 update usuarios set clave='payaso'
  where nombre='JuanaJuarez';

 select * from usuarios;

 -- Para actualizar varios campos en una sola instrucción empleamos:
 update usuarios set nombre='Marceloduarte', clave='Marce'
  where nombre='Marcelo';

 -- Si vemos la tabla:
 select * from usuarios;

Seleccionemos con el mouse todas las instrucciones hasta el primer comando 'select' y luego ejecutemos dicho bloque. Debe aparecer una salida similar a:

PostgreSQL pgAdmin update

Ejecutemos luego los otros update y veamos cada uno de los resultados.


Retornar