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
SELECT ... WHERE ...;
UPDATE tabla SET ... WHERE ...;
DELETE FROM tabla WHERE ...;Primer ejemplo guiado
| id | cliente_id | fecha | total | estado |
|---|---|---|---|---|
| 101 | 1 | 2026-07-02 | 65 | enviado |
| 102 | 2 | 2026-07-04 | 189 | pendiente |
| 103 | 1 | 2026-07-09 | 44 | enviado |
| 104 | 3 | 2026-07-11 | 899 | cancelado |
| 105 | 5 | 2026-07-15 | 118 | enviado |
Analiza la consulta antes de comprobar el resultado:
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
- El SELECT previo muestra la fila afectada.
- UPDATE reutiliza exactamente el mismo WHERE.
- La clave id limita el cambio a un pedido.
Error frecuente
Consulta o razonamiento problemático
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
Resuelve una sola dificultad cada vez
Actualiza a 'enviado' el pedido 102 de forma segura.
Solución razonada
UPDATE pedidos SET estado = 'enviado' WHERE id = 102;La clave primaria identifica una única fila y hace el alcance fácil de verificar.
Comprueba: identifica qué parte recupera, filtra, transforma, relaciona o modifica los datos.
Ahora sin guía
Transfiere lo aprendido
Escribe el SELECT de comprobación y el DELETE para eliminar únicamente el pedido 104.
Comparar con una solución posible
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.