Módulo 6 · Modificar datos

Actualiza y elimina datos con seguridad

Modifica solo las filas previstas y comprueba el alcance antes y después.

25 minNivel IntermedioAntes necesitas: WHERE e INSERT

0 de 45 lecciones

Al terminar, podrás

  • Separar el alcance de la modificación.
  • Aplicar UPDATE sin alterar columnas innecesarias.
  • Preparar un DELETE con una comprobación previa.

Recupera lo aprendido: ¿INSERT cambia una fila existente o crea una nueva?

La idea clave

UPDATE cambia columnas de filas existentes y DELETE elimina filas completas. En ambos casos, WHERE define el alcance. Por eso la consulta de lectura previa es parte del procedimiento, no un paso opcional.

Secuencia de seguridad: selecciona, cuenta, modifica y vuelve a seleccionar. Si el motor y la operación lo permiten, realiza el cambio dentro de una transacción.

La sintaxis básica

Actualizar
UPDATE tabla
SET columna = nuevo_valor
WHERE condicion;
Eliminar
DELETE FROM tabla
WHERE condicion;

Ejemplo paso a paso

El pedido 102 está pendiente y suma 49,50. Primero comprobamos su clave y estado; después cambiamos solo esa fila.

Comprobar y actualizar
SELECT id, estado, total
FROM pedidos
WHERE id = 102;

UPDATE pedidos
SET estado = 'enviado'
WHERE id = 102;

SELECT id, estado, total
FROM pedidos
WHERE id = 102;
Estado después del UPDATE
idestadototal
102enviado49,50

Cómo funciona

  1. La primera lectura confirma que la clave 102 identifica una fila.
  2. SET cambia únicamente estado; el resto de columnas se conserva.
  3. La segunda lectura confirma tanto el nuevo valor como el alcance.
Comprueba tu comprensión

¿Qué debes comprobar antes de ejecutar un DELETE?

Un error habitual

Omitir la condición

Consulta problemática
UPDATE pedidos
SET estado = 'enviado';

Sin WHERE, todas las filas de pedidos cumplen el alcance de la sentencia. La sintaxis es válida, pero el resultado rara vez es el deseado.

Practica con datos

Laboratorio SQL

Resuelve la consulta

Pendiente

Escribe la sentencia SQL que actualice únicamente el pedido 102 para que su estado sea enviado.

Resultado esperado: 1 fila con id, estado.

Ver tablas y datos

Cargando la estructura del ejercicio…

La consulta usa datos ficticios y se ejecuta solo en este navegador.

Fuentes técnicas consultadas

Las referencias confirman que UPDATE solo cambia las columnas indicadas y que DELETE sin WHERE elimina todas las filas. Las cláusulas adicionales, como RETURNING, FROM o LIMIT, varían entre motores y no se presentan como SQL universal.

Comprueba si puedes explicarlo

¿Basta con que una sentencia UPDATE contenga WHERE para que sea segura?

Ver respuesta razonada

No. WHERE puede seleccionar demasiadas filas. Comprueba las claves que coinciden, verifica el estado posterior y confirma también que las demás filas siguen iguales.

Responde antes de abrir la explicación. Si necesitaste ayuda, cierra la respuesta y vuelve a explicarlo con tus palabras antes de dar la lección por aprendida.

Qué debes recordar

  • Prueba primero la condición con SELECT.
  • UPDATE conserva las columnas que no aparecen en SET.
  • DELETE elimina filas, no la estructura de la tabla.

A continuación: agrupa cambios relacionados en una transacción.

Conceptos relacionados