Saltar al contenido

DELETE

SQL · Unidad 11: Modificar datos

El Cable sigue con retraso. Valeria se cansó de esperar y cancela su pedido de 3, que es el número 8. Esta tienda borra el pedido que se cancela. No todas lo hacen.

DELETE FROM dice la tabla, y WHERE, qué filas. No lleva lista de columnas, porque no borra datos sueltos. Borra filas enteras. Valeria tenía dos pedidos, y le queda uno. De la fila del 8 no queda nada en ningún sitio, ni una fila vacía ni una marca.

DELETE FROM pedidos
WHERE id = 8;
SELECT id, producto_id, cantidad
FROM pedidos
WHERE cliente_id = 5;

Devuelve

idproducto_idcantidad
511

El resto de la explicación está en la lección, que es del plan completo.

Ejercicios de esta lección

Se hacen en la app, que los corrige al momento y explica por qué.

  1. 1. Predice la salida

    Luis, el cliente 2, pide que la tienda borre su historial de compras, que son los pedidos 3, 6 y 12. Las cajas grandes, de 3 unidades o más, eran los pedidos 3, 4 y 8. ¿Qué devuelve el SELECT?

  2. 2. Completa el código

    Bruno, el cliente 8, pide que la tienda olvide su edad. Camila, la 7, pide que la borren del todo. Completa las dos sentencias.

  3. 3. Encuentra el bug

    Alguien corrió dos veces el registro de Zoe, y la tienda tiene dos clientas iguales, la 9 y la 10. Las cinco primeras líneas dejan la tabla así, y las dos siguientes tenían que borrar a la segunda. Aquí SQL contesta near "*": syntax error. ¿Qué línea tiene el problema?

  4. 4. Ordena las líneas

    El Cable, el producto 4, no va a llegar este mes, y la tienda cancela los pedidos que lo esperaban. Ordena las tres sentencias. La primera cuenta cuántos pedidos se van a borrar, la segunda los borra y la tercera cuenta cuántos quedan en la tabla. Sobran dos líneas.

  5. 5. Escribe el código

    Diego, el cliente 6, sale de viaje y cancela lo que tiene por recibir, que son sus pedidos del 12 de enero en adelante. Lo que ya recibió se queda. Escribe el DELETE. Tiene que servir también si Diego tuviera pedidos más antiguos.

  6. 6. Encuentra el bug

    Mateo cancela su único pedido, que es el número 4. Aquí SQL contesta FOREIGN KEY constraint failed. ¿Qué línea tiene el problema?

  7. 7. Ordena las líneas

    Ana, la clienta 1, pide que la tienda borre sus datos, y con ellos sus tres pedidos. Ordena las dos sentencias que lo hacen y el SELECT que cuenta los clientes que quedan. Sobran dos líneas.

  8. 8. Opción múltiple

    En una base de verdad, borraste el pedido 8 cuando Valeria lo canceló. A fin de mes, el dueño pregunta cuántos pedidos se cancelaron en enero. ¿Qué le contestas?

  9. 9. Escribe el código

    El dueño limpia el catálogo. Salen los productos agotados que además nunca se han vendido. Un agotado que alguien pidió alguna vez se queda, y uno que nadie ha pedido pero tiene stock, también. Escribe un solo DELETE, sin escribir a mano el id de ningún producto. Los que se han vendido son los que aparecen en la columna producto_id de pedidos.

Hacer esta lección

Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.

Ver todas las lecciones →