Saltar al contenido principal
eLearner.app
Módulo 8 · Lección 2 de 430/57 en el curso~10 min
Lecciones del módulo (2/4)

Actualizar y eliminar: UPDATE y DELETE

UPDATE modifica las filas existentes; DELETE los elimina. Ambos comparten el La misma regla de oro fundamental: la cláusula WHERE decide qué filas tocar. Olvidarlo significa modificar/eliminar toda la tabla.

ACTUALIZAR

SQL
UPDATE tabella
SET    colonna1 = nuovo_valore,
       colonna2 = altra_espressione
WHERE  condizione;

Ejemplos:

SQL
-- Aumenta del 10% i prezzi di tutti i prodotti della categoria 5 (Computer):
UPDATE products
SET    price = price * 1.10
WHERE  category_id = 5;

-- Aggiorna due colonne contemporaneamente:
UPDATE orders
SET    status     = 'shipped',
       shipped_at = NOW()
WHERE  id = 12;

SET col = espressione: la expresión puede hacer referencia a la fila actual valores (price * 1.10), y también puede usar NOW(), NULL o subconsultas.

BORRAR

SQL
DELETE FROM tabella
WHERE  condizione;

Ejemplos:

SQL
-- Cancella tutte le recensioni con rating < 3:
DELETE FROM reviews
WHERE  rating < 3;

-- Cancella un ordine specifico:
DELETE FROM orders WHERE id = 999;

REGRESANDO aquí también

Al igual que INSERT, UPDATE y DELETE también aceptan RETURNING para que lo sepas. en qué actuaron:

SQL
DELETE FROM reviews
WHERE  rating < 3
RETURNING id, customer_id, rating;

Útil para iniciar sesión de una sola vez en lo que se eliminó/modificó.

Claves externas y eliminación

Intentando eliminar una fila a la que hace referencia otra tabla a través de una clave externa produce un error:

SQL
DELETE FROM customers WHERE id = 1;
-- ERROR: update or delete on table "customers" violates foreign key constraint
-- on table "orders"

Soluciones: elimine primero las filas secundarias o defina el FK con ON DELETE CASCADE cuando creas la tabla (cubriremos esto en el próxima lección de DDL).

Tu turno

Ejercicio#sql.m8.l2.e1
Intentos: 0Cargando...

Incrementar en un 10% el precio de cada producto de la categoría 5 (Computadora). Una única declaración de ACTUALIZACIÓN.

Cargando editor...
Mostrar pista

La expresión a la derecha de SET puede hacer referencia a la propia columna: precio * 1,10.

Solución disponible después de 3 intentos

Ejercicio de revisión

Ejercicio#sql.m8.l2.e2
Intentos: 0Cargando...

Elimina todas las reseñas con una calificación inferior a 3 (reseñas muy negativas).

Cargando editor...
Mostrar pista

DONDE calificación < 3.

Solución disponible después de 3 intentos