Listado completo de tutoriales
10 - Modificación de registros de una tabla (update) |
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 'MarioPerez', queremos como nueva clave 'Boca', necesitamos una condición "where" que afecte solamente a este registro:
update usuarios set clave='Boca' where nombre='MarioPerez';
Si no encuentra registros que cumplan con la condición del "where", ningún registro es afectado.
Las condiciones no son obligatorias, pero si omitimos la cláusula "where", la actualización afectará a todos los registros.
También se puede 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.
Igual al concepto anterior cuando utilizamos el comando 'update' si la varible 'SQL_SAFE_UPDATES' se encuentra con un 1 (activa) luego solo se pueden ejecutar actualizaciones de una única fila disponiendo en el where la clave primaria (tema que no hemos visto)
Por el momento es aconsejable cambiar 'SQL_SAFE_UPDATES' al valor cero si no lo hizo en el concepto anterior.
Luego de cambiar 'SQL_SAFE_UPDATES' a cero puede ejecutar este conjunto de sentencias SQL en el "Workbench":
drop table if exists usuarios; create table usuarios ( nombre varchar(30), clave varchar(10) ); insert into usuarios (nombre, clave) values ('Leonardo','payaso'); insert into usuarios (nombre, clave) values ('MarioPerez','Marito'); insert into usuarios (nombre, clave) values ('Marcelo','River'); insert into usuarios (nombre, clave) values ('Gustavo','River'); select * from usuarios; update usuarios set clave='RealMadrid'; select nombre,clave from usuarios; update usuarios set nombre='GustavoGarcia' where nombre='Gustavo'; update usuarios set nombre='MarceloDuarte', clave='Marce' where nombre='Marcelo'; select nombre,clave from usuarios;