Modificando datos: UPDATE
Lección 02 · Manipulación de datos
Modificando datos: UPDATE
La sentencia UPDATE te permite modificar datos existentes en una tabla. Es fundamental combinarla con WHERE para actualizar solo las filas deseadas.
| id | title | hrs |
|---|---|---|
| 1 | Zelda | 20 |
| 5 | Minecraft | 9999 |
| 3 | FF VII | 40 |
| id | title | hrs |
|---|---|---|
| 1 | Zelda | 20 |
| 5 | Minecraft | 10000 |
| 3 | FF VII | 40 |
Sintaxis básica
UPDATE tabla
SET columna1 = valor1, columna2 = valor2
WHERE condición;
Cuidado sin WHERE
Si no incluyes WHERE, todas las filas de la tabla se actualizarán. Esto es peligroso y rara vez es lo que quieres.
Actualización con cálculos
Puedes usar expresiones para calcular nuevos valores basándote en los actuales:
UPDATE videogames
SET playtime_hours = playtime_hours + 10
WHERE developer = 'Nintendo';
Actualizar múltiples columnas
Puedes modificar varias columnas a la vez en un solo UPDATE, separándolas con comas en la cláusula SET:
UPDATE videogames
SET developer = 'CD Projekt', year = 2016
WHERE title = 'The Witcher 3';
Esto es más eficiente que ejecutar varios UPDATE por separado, ya que la base de datos solo necesita localizar la fila una vez.
Buena práctica: SELECT antes de UPDATE
Antes de ejecutar un UPDATE, es muy recomendable ejecutar primero un SELECT con la misma cláusula WHERE para verificar qué filas se van a modificar:
-- Primero comprueba qué filas se van a ver afectadas
SELECT * FROM videogames WHERE developer = 'Nintendo';
-- Si el resultado es el esperado, ejecuta el UPDATE
UPDATE videogames
SET playtime_hours = playtime_hours + 10
WHERE developer = 'Nintendo';
Este hábito te puede ahorrar muchos disgustos, especialmente en bases de datos de producción donde un WHERE incorrecto podría modificar miles de registros no deseados.
Nuestra tabla
Nombre de la Tabla: videogames
| id | title | developer | year | playtime_hours |
|---|---|---|---|---|
| 1 | The Legend of Zelda | Nintendo | 1986 | 20 |
| 2 | Super Mario Bros. | Nintendo | 1985 | 10 |
| 3 | Final Fantasy VII | Square Enix | 1997 | 40 |
| 4 | The Witcher 3 | CD Projekt Red | 2015 | 100 |
| 5 | Minecraft | Mojang Studios | 2011 | 9999 |
| 6 | Grand Theft Auto V | Rockstar Games | 2013 | 80 |
| 7 | Dark Souls | FromSoftware | 2011 | 60 |
| 8 | Portal 2 | Valve | 2011 | 8 |
| 9 | Red Dead Redemption 2 | Rockstar Games | 2018 | 70 |
| 10 | The Last of Us | Naughty Dog | 2013 | 15 |
| 11 | Halo: Combat Evolved | Bungie | 2001 | 10 |
| 12 | God of War | Santa Monica Studio | 2018 | 25 |
Tablas de esta lección
Estructura
Datos de ejemplo (5 filas)
| id | title | developer | year | playtime_hours |
|---|---|---|---|---|
| 1 | The Legend of Zelda | Nintendo | 1986 | 20 |
| 2 | Super Mario Bros. | Nintendo | 1985 | 10 |
| 3 | Final Fantasy VII | Square Enix | 1997 | 40 |
| 4 | The Witcher 3 | CD Projekt Red | 2015 | 100 |
| 5 | Minecraft | Mojang Studios | 2011 | 9999 |
| 6 | Grand Theft Auto V | Rockstar Games | 2013 | 80 |
| 7 | Dark Souls | FromSoftware | 2011 | 60 |
| 8 | Portal 2 | Valve | 2011 | 8 |
| 9 | Red Dead Redemption 2 | Rockstar Games | 2018 | 70 |
| 10 | The Last of Us | Naughty Dog | 2013 | 15 |
| 11 | Halo: Combat Evolved | Bungie | 2001 | 10 |
| 12 | God of War | Santa Monica Studio | 2018 | 25 |
Ejercicios
Actualiza las horas de juego de 'Minecraft' (id 5) a 10000.
Cambia el nombre del desarrollador de 'The Witcher 3' a 'CD Projekt'.
Aumenta en 10 las horas de juego de todos los videojuegos de 'Rockstar Games'.