Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Vista previa

Cambiar y borrar filas

Esta es la primera página de la lección. Léela y prueba las actividades. El resto está en el curso completo.

35 minutos

La tienda de móviles

Una tienda de móviles de segunda mano guarda sus productos en una tabla. Hoy hay dos problemas.

El Modelo B baja de precio. Y el Modelo C ya no se vende.

No hay que crear la tabla otra vez. Hay que cambiar una fila y borrar otra. Y hay que hacerlo con mucho cuidado.

Palabras clave

PalabraQué significaEjemplo
UPDATELa orden que cambia datos de filas que ya existen.UPDATE phones SET price = 180
SETDice qué columna cambia y el valor nuevo.SET price = 180
DELETELa orden que borra filas enteras.DELETE FROM phones WHERE id = 3
WHEREElige qué filas se cambian o se borran.WHERE id = 2
Copia de seguridadUna copia de los datos por si algo sale mal.Guardar la tabla antes de borrar

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Pruébalo: el stock de hoy

Código: sql
-- Cuatro modelos. El Modelo C tiene stock 0.
SELECT * FROM phones;

UPDATE ... SET ... WHERE

Para cambiar un dato escribes UPDATE, el nombre de la tabla y SET con el valor nuevo. Después, WHERE dice qué filas cambian.

El WHERE es el mismo que ya conoces: WHERE id = 2 elige solo el Modelo B.

Pruébalo: rebaja el Modelo B

Código: sql
-- Solo cambia la fila con id 2.
UPDATE phones SET price = 180 WHERE id = 2;

SELECT * FROM phones;

-- Mira el precio del Modelo B: ahora son 180 euros.

Calcular con el valor de antes

Un UPDATE puede usar el valor que había. Si vendes un Modelo D, el stock baja uno: SET stock = stock - 1.

Y puedes cambiar varias columnas a la vez, separadas por comas.

Pruébalo: se vende un Modelo D

Código: sql
-- El stock del Modelo D pasa de 4 a 3.
UPDATE phones SET stock = stock - 1 WHERE model = 'Modelo D';

SELECT * FROM phones;

-- Prueba también SET stock = stock - 1, price = 140 en la misma orden.

Ejemplo resuelto: qué cambia

OrdenFilas que cambianAntesDespués
SET price = 180 WHERE id = 2Una: el Modelo Bprice 200price 180
SET stock = stock - 1 WHERE model = 'Modelo D'Una: el Modelo Dstock 4stock 3
SET price = 100 (sin WHERE)Las cuatro120, 200, 90 y 150100, 100, 100 y 100

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Sin WHERE, cambia toda la tabla

Advertencia

Si olvidas el WHERE, el cambio se aplica a todas las filas. La base no pregunta si estás seguro. Un olvido así puede estropear toda la tabla en un segundo.

Repaso rápido: UPDATE

Inténtalo

Repaso rápido: UPDATE

3 preguntas
Pruébalo: tus respuestas se corrigen aquí y después se olvidan. Inicia sesión si quieres que se guarde tu puntuación y continuar donde lo dejaste.Iniciar sesión para guardar tu puntuación

Tus respuestas se corrigen aquí y no se guardan. Una cuenta guarda tus resultados.

La lección continúa

8 partes más de esta lección están en el curso completo, con los ejercicios y la comprobación final. Una cuenta te da todo.