UPDATE: Consulta de actualización



Generalidades
La instrucción UPDATE es la que nos permite actualizar, es decir modificar algún valor de una tabla, en un campo, varios campos a la vez, y todo esto en un registro o varios registros a la vez, para ello se emplean filtros como se utilizan también en las instrucciones SELECT y DELETE.

La sintaxis viene siendo la siguiente:

UPDATE nombre_de_tabla SET nombre_de_campo = valor_nuevo WHERE criterio_aplicado

Como se imaginarán hay que tener en cuenta que el 'valor_nuevo' que voy a actualizar en el campo en cuestión debe ser del mismo tipo de datos que este campo tenga en su diseño, que además la longitud de dicho valor no debe superar a la longitu del campo, porque sino los datos se verán truncados e inclusive la actualización se efectuará tal vez sin avisar este error.

Filtros
Veamos el más común es el WHERE y se utiliza luego de la cláusula SET y el campo o los campos con sus respectivos nuevos valores:

UPDATE nombre_de_tabla SET precio = 47 WHERE id < 100

En este ejemplo la consulta nos va a actualizar el campo precio al valor 47 en todos los registros que cumplan con la condición de tener su campo de nombre "id" menor que 100.

Los filtros pueden ser uno solo como en el caso anterior o combinaciones de filtros como por ejemplo:

UPDATE nombre_de_tabla SET precio = 47 WHERE id < 100 AND nombre <> 'Administrador '

En este ejemplo la consulta nos va a actualizar los registros que cumplan con la condición de tener su campo de nombre "id" menor que 100 y además que el campo nombre sea distinto de 'Administrador', es decir ambas condiciones, si en lugar del operador AND utilizáramos el operador OR, el resultado sería la actualización de los registros que cumplan alguna de las dos condiciones opcionalmente por separado, o una o la otra.

Si quisiéramos combinar ambos operadores debemos tener en cuenta que todas las condiciones que serán opcionales, separadas por el operador OR deberán estar encerradas entre paréntesis:

UPDATE nombre_de_tabla SET precio = 47 WHERE id < 100 AND (nombre = 'Administrador ' OR nombre = 'Juan' OR nombre = 'Pedro')

En consecuencia esta consulta actualizará los registros que de nombre tengan 'Administrador', 'Juan' o bien 'Pedro' y a su vez su id sea menor que 100

Actualización de varios campos a la vez
Cuando fuera necesario actualizar más de un campo, en uno o más registros a la vez, se puede realizar esto en una sola instrucción, la cual deberá tener todos los pares nombre_de_campo y valor_nuevo separados por coma ( , ) a continuación de la cláusula SET, como mostramos en el siguiente ejemplo:

UPDATE nombre_de_tabla SET nombre_de_campo1 = valor_nuevo1, nombre_de_campo2 = valor_nuevo2


Tener en cuenta que cuando se realice una actualización de más de un campo como en el ejemplo anterior, se actualizarán los campos de todos los registros o del registro que cumpla los criterios empleados pero esta actualización será para todos por igual, sin poder diferenciar entre un registro y otro, para lo cual si quisiéramos actualizar un valor nuevo para un campo en unos registros y en otro grupo de registros otro valor, lo deberemos realizar en diferentes consultas por separado.
 
 



Búsquedas más frecuentes
Lenguaje SQL