Módulo 6 · Modificar datos

UPDATE y DELETE sin accidentes

Modifica o elimina únicamente las filas previstas mediante un proceso verificable.

⏱ 25 minNivel: IntermedioRequisito: WHERE e INSERT

0 de 40 lecciones

Al terminar esta lección podrás

  • Previsualizar cambios.
  • Escribir UPDATE y DELETE con WHERE.
  • Distinguir modificación de estructura.

Antes de empezar: WHERE e INSERT. Explica en una frase qué recuerdas antes de continuar.

La idea, sin código

UPDATE cambia columnas y DELETE elimina filas. La práctica segura consiste en escribir primero un SELECT con el mismo WHERE, comprobar las filas y ejecutar el cambio dentro de una transacción cuando sea posible.

Pregunta guía: ¿qué representa cada fila antes y después de aplicar este concepto?

Sintaxis mínima

Estructura
SELECT ... WHERE ...;
UPDATE tabla SET ... WHERE ...;
DELETE FROM tabla WHERE ...;

Primer ejemplo guiado

Datos de ejemplo: tabla pedidos
idcliente_idfechatotalestado
10112026-07-0265enviado
10222026-07-04189pendiente
10312026-07-0944enviado
10432026-07-11899cancelado
10552026-07-15118enviado

Analiza la consulta antes de comprobar el resultado:

SQL
SELECT id, estado
FROM pedidos
WHERE id = 102;

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

Qué cambiaría: esta sentencia actúa sobre la estructura o los datos. En el curso se presenta para analizarla; ejecútala únicamente en una base de práctica.

Qué ocurre paso a paso

  1. El SELECT previo muestra la fila afectada.
  2. UPDATE reutiliza exactamente el mismo WHERE.
  3. La clave id limita el cambio a un pedido.
Comprueba que lo entendiste

¿Qué debes comprobar antes de un UPDATE amplio?

Error frecuente

Consulta o razonamiento problemático

Revisar
UPDATE pedidos SET estado = 'enviado';

Sin WHERE, todas las filas cambian. Puede ser intencionado, pero debe tratarse como una operación de alto riesgo.

Práctica guiada

Básica · apoyo graduado

Resuelve una sola dificultad cada vez

Actualiza a 'enviado' el pedido 102 de forma segura.

Ahora sin guía

Intermedia · práctica autónoma

Transfiere lo aprendido

Escribe el SELECT de comprobación y el DELETE para eliminar únicamente el pedido 104.

Comparar con una solución posible
SQL
SELECT * FROM pedidos WHERE id = 104;
DELETE FROM pedidos WHERE id = 104;

Puede existir otra solución válida. Comprueba que produce el resultado pedido y que puedes explicar cada cláusula.

Resumen para llevarte

  • Previsualiza antes de cambiar.
  • UPDATE sin WHERE cambia todas las filas.
  • DELETE elimina filas; DROP elimina la tabla.

Siguiente paso: Continúa con Transacciones, COMMIT y ROLLBACK.

Consulta rápida