Comando UPDATE: modificar registros en tablas SQL

Clase 18 de 24Curso de Fundamentos de Bases de Datos

Resumen

Saber cómo actualizar datos en tablas SQL es fundamental para administrar información en bases de datos. El comando update permite modificar registros existentes de manera precisa, pero exige prudencia en su uso, especialmente al definir condiciones específicas mediante where.

¿Por qué es importante especificar condiciones en el comando update?

Siempre es clave definir condiciones claras con la cláusula WHERE al realizar un comando UPDATE, pues de lo contrario se modificarán todos los registros de la tabla, lo cual normalmente no es deseado.

Por ejemplo, para modificar el teléfono de un cliente específico:

update clients
set phone_number = '525512345678'
where client_id = 19
limit 1;

El uso de limit puede funcionar como un mecanismo adicional de control, especialmente útil mientras se adquiere confianza manejando actualizaciones críticas.

¿Cómo utilizar consultas para verificar datos antes de un update?

Antes de modificar información existiendo en una tabla, es una práctica habitual verificar qué elementos serán afectados. Esto se logra ejecutando una consulta SELECT previamente:

select client_id, name, phone_number from clients limit 10;

La información obtenida ayuda a tomar decisiones sobre cuáles registros modificar, evitando errores en los datos.

¿Cómo actualizar registros múltiples en SQL?

En algunos casos es necesario cambiar múltiples registros al mismo tiempo. Supongamos que deseamos eliminar el teléfono de todos los clientes cuyo nombre es Laura o Claire:

update clients
set phone_number = null
where (name like 'Laura' or name like 'Claire') and phone_number is not null;

La condición compuesta clara evita actualizaciones repetidas en registros que ya cumplen con los nuevos valores.

¿Cómo realizar actualizaciones avanzadas utilizando funciones SQL?

SQL permite actualizaciones avanzadas incorporando funciones para cálculos sencillos directo en la base de datos.

Por ejemplo, al agregar una columna de inventario a la tabla products:

alter table products
add column stock integer not null default 0 after price;

Y actualizar este nuevo campo usando números aleatorios:

update products
set stock = round(rand()*100);

Este enfoque ofrece una manera atractiva y efectiva de insertar datos rápidamente.

¿Qué sucede cuando es necesario actualizar valores con base en datos existentes?

Cuando se manejan cantidades que varían con frecuencia, como el inventario de productos, es recomendable actualizar directamente usando los mismos datos del campo actualizado:

update products
set stock = stock - 3
where product_id = 8;

Esto reduce la posibilidad de errores y simplifica considerablemente el proceso de actualización.

¿Cuál es la estructura básica correcta del comando update?

Entendiendo los elementos básicos, el comando update siempre mantiene el siguiente orden estricto:

  • UPDATE nombre_de_tabla
  • SET columna = nuevo_valor
  • WHERE condiciones

SQL es flexible respecto al formato visual y la indentación, pero el orden de estos elementos debe respetarse rigurosamente para asegurar funcionamiento correcto.

¿Cuándo resulta útil la función LIMIT en la sentencia update?

Además de ser un seguro adicional, limit define el número específico de registros afectados, lo que permite gestionar con mayor precisión la magnitud de los cambios aplicados a los datos:

update clients
set phone_number = null
where name like 'Laura'
limit 10;

La utilización de limit aporta una claridad valiosa desde el punto de vista del control operativo, sobre todo al manejar grandes volúmenes de registros delicados.

¿Te resultó claro cómo actualizar información en SQL? ¿Te gustaría revisar más ejemplos específicos como estos? Coméntalo a continuación.