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.
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:
Ejecutemos luego los otros update y veamos cada uno de los resultados.