INSERT, UPDATE y DELETE en MySQL explicado fácil
Introducción
Cuando empiezas con MySQL, una de las primeras cosas que necesitas aprender no es solo a consultar datos, sino también a modificarlos. Porque una base de datos real no vive únicamente de mostrar información: también necesita guardar registros nuevos, actualizar datos existentes y eliminar aquello que ya no sirve o que debe desaparecer.
Ahí entran tres instrucciones fundamentales de SQL:
- INSERT
- UPDATE
- DELETE
Estas tres operaciones forman parte del corazón de cualquier sistema CRUD. Si tienes un blog, las usas para crear publicaciones, editar contenido o borrar entradas. Si tienes una tienda, las usas para guardar productos, actualizar stock o eliminar registros. Si tienes un sistema de tickets, te sirven para crear incidencias, cambiar estados o eliminar comentarios.
Aprender INSERT, UPDATE y DELETE no consiste solo en memorizar sintaxis. Lo importante es entender qué hace cada una, en qué casos se usa y, sobre todo, qué errores debes evitar. Porque aquí ya no estás solo leyendo datos: estás cambiando información real dentro de la base de datos.
En esta guía vamos a ver qué hace cada operación, cómo pensarla correctamente y varios ejemplos sencillos para que quede claro.
Qué es INSERT en MySQL
INSERT se utiliza para agregar nuevos registros dentro de una tabla.
Dicho de forma simple: cuando quieres guardar información nueva en la base de datos, usas INSERT.
Por ejemplo:
- registrar un nuevo usuario
- guardar un nuevo post
- añadir una categoría
- crear un ticket
- insertar un producto
INSERT es la operación que da vida a la base de datos, porque es la puerta de entrada de nueva información.
Cómo pensar INSERT correctamente
Cada vez que uses INSERT, pregúntate:
- en qué tabla quiero guardar el dato
- qué columnas necesito rellenar
- cuáles son obligatorias
- cuáles pueden quedar vacías o tomar valores por defecto
Esto es importante porque no siempre tendrás que insertar todas las columnas. Muchas veces habrá campos autoincrementales, timestamps automáticos o columnas opcionales.
Ejemplo simple de INSERT
Imagina una tabla llamada usuarios con estas columnas:
- id
- nombre
- created_at
Si quieres insertar un nuevo usuario, lo correcto es indicar en qué columnas vas a guardar información y luego pasar sus valores.
Ejemplo:
INSERT INTO usuarios (nombre, email)
VALUES ('Irak', 'irak@example.com');
Aquí estás diciendo:
- inserta un nuevo registro en la tabla
usuarios - rellena las columnas
nombreyemail - con los valores indicados
No incluyes id porque normalmente será autoincremental, y tampoco necesariamente created_at si se genera automáticamente.
INSERT con varias columnas
Otro ejemplo con una tabla posts:
- id
- title
- slug
- contenido
- created_at
INSERT INTO posts (title, slug, contenido) VALUES ( 'Guía de Linux desde cero', 'guia-linux-desde-cero', 'Este es el contenido del artículo...' );
Esto sería algo muy típico en un blog o CMS.
INSERT de varios registros a la vez
También puedes insertar varios registros en una sola sentencia.
Por ejemplo, para categorías:
INSERT INTO categorias (nombre, slug)
VALUES
('Linux', 'linux'),
('MySQL', 'mysql'),
('PHP', 'php');
Esto ahorra tiempo y hace la inserción más cómoda cuando tienes varios registros iniciales.
Errores comunes con INSERT
Uno de los errores más comunes es no indicar bien las columnas y confiar demasiado en el orden de la tabla. Lo más recomendable es especificar siempre las columnas que estás insertando.
Otro error es intentar insertar datos incompatibles con el tipo de columna. Por ejemplo, texto largo en un campo pequeño o un valor nulo en un campo obligatorio.
También es frecuente olvidar que algunas columnas tienen restricciones de unicidad, como el email en una tabla de usuarios.
Qué es UPDATE en MySQL
UPDATE se utiliza para modificar registros que ya existen.
Por ejemplo:
- cambiar el nombre de un usuario
- actualizar el estado de un ticket
- modificar el precio de un producto
- editar el contenido de un post
- marcar un pedido como completado
UPDATE es clave porque los datos reales no son estáticos. Las aplicaciones viven cambiando información constantemente.
Cómo pensar UPDATE correctamente
Cada vez que uses UPDATE, hazte estas preguntas:
- qué tabla quiero modificar
- qué columnas quiero cambiar
- qué registros concretos deben verse afectados
- tengo bien definida la condición
Esta última pregunta es importantísima, porque un UPDATE sin condición o con una condición mal escrita puede modificar muchísimos registros a la vez.
Ejemplo simple de UPDATE
Imagina que quieres cambiar el email de un usuario con id = 3.
UPDATE usuarios SET email = 'nuevoemail@example.com' WHERE id = 3;
Aquí estás diciendo:
- actualiza la tabla
usuarios - cambia la columna
email - solo en el registro cuyo
idsea 3
La cláusula WHERE es la parte crítica.
UPDATE con varias columnas
También puedes modificar más de una columna al mismo tiempo.
Por ejemplo, en una tabla de productos:
UPDATE productos
SET nombre = 'Teclado mecánico',
precio = 79.99,
stock = 12
WHERE id = 5;
Esto es muy útil cuando editas registros desde formularios administrativos.
UPDATE por condición de negocio
Otro caso típico es cambiar estados.
Por ejemplo, en tickets:
UPDATE tickets SET estado = 'cerrado' WHERE id = 18;
O en posts:
UPDATE posts SET publicado = 1 WHERE id = 7;
Este tipo de operaciones son muy comunes en paneles de gestión.
El gran peligro de UPDATE sin WHERE
Este punto merece atención.
Si escribes un UPDATE sin WHERE, modificarás todos los registros de la tabla.
Ejemplo peligroso:
UPDATE usuarios SET role = 'admin';
Eso convertiría a todos los usuarios en administradores.
Por eso, antes de ejecutar un UPDATE, revisa siempre la condición. En producción, este tipo de error puede ser gravísimo.
Qué es DELETE en MySQL
DELETE se utiliza para eliminar registros existentes de una tabla.
Por ejemplo:
- borrar un comentario
- eliminar un post
- quitar un producto del catálogo
- borrar un usuario
- eliminar un ticket de prueba
DELETE es una operación muy útil, pero también delicada, porque una vez ejecutada, puede ser difícil recuperar la información si no tienes respaldo.
Cómo pensar DELETE correctamente
Antes de usar DELETE, conviene preguntarte:
- realmente quiero borrar este registro
- debería eliminarlo físicamente o solo marcarlo como inactivo
- tengo bien definida la condición
- este dato está relacionado con otras tablas
No siempre conviene borrar de verdad. A veces es mejor usar un estado como activo = 0 o eliminado = 1, especialmente en sistemas donde necesitas historial.
Ejemplo simple de DELETE
Si quieres borrar un usuario con id = 10:
DELETE FROM usuarios WHERE id = 10;
Eso eliminará únicamente ese registro.
Otro ejemplo de DELETE
En comentarios:
DELETE FROM comentarios WHERE id = 22;
Muy típico cuando eliminas spam, pruebas o contenido no deseado.
El gran peligro de DELETE sin WHERE
Igual que con UPDATE, DELETE sin WHERE es extremadamente peligroso.
Ejemplo:
DELETE FROM usuarios;
Eso eliminaría todos los registros de la tabla usuarios.
Por eso, una regla de oro es esta:
nunca ejecutes un DELETE sin revisar dos veces la condición.
Diferencia entre INSERT, UPDATE y DELETE
Cada una responde a una necesidad distinta:
- INSERT crea datos nuevos
- UPDATE modifica datos existentes
- DELETE elimina registros
Si lo llevas a un CRUD clásico:
- Create = INSERT
- Read = SELECT
- Update = UPDATE
- Delete = DELETE
Entender estas cuatro operaciones ya te da una base muy sólida para trabajar con MySQL en aplicaciones reales.
Casos de uso reales
En un blog:
- INSERT para crear posts
- UPDATE para editar contenido
- DELETE para borrar publicaciones o comentarios
En una tienda:
- INSERT para añadir productos
- UPDATE para cambiar precios o stock
- DELETE para retirar registros
En un sistema de tickets:
- INSERT para crear tickets
- UPDATE para cambiar estado o responsable
- DELETE para eliminar pruebas o comentarios erróneos
En cualquier panel administrativo estas tres operaciones aparecen constantemente.
Buenas prácticas con INSERT, UPDATE y DELETE
Algunas recomendaciones muy importantes:
- especifica bien las columnas en INSERT
- revisa siempre la condición de UPDATE
- revisa dos veces la condición de DELETE
- evita borrar información sensible sin respaldo
- considera usar borrado lógico en algunos proyectos
- prueba tus consultas primero en entornos controlados
- entiende el impacto antes de ejecutar
Estas operaciones son sencillas de entender, pero poderosas en sus efectos.
Cómo practicar de verdad
Una buena forma de practicar es crear una tabla pequeña, por ejemplo usuarios, y hacer ejercicios como estos:
- insertar 3 usuarios
- actualizar el email de uno
- cambiar el nombre de otro
- eliminar uno por id
Luego puedes repetir el ejercicio con una tabla de posts, productos o tickets.
Practicar con pequeños escenarios reales te ayuda mucho más que leer sintaxis aislada.
Conclusión:
INSERT, UPDATE y DELETE son tres de las operaciones más importantes de MySQL porque te permiten crear, modificar y eliminar información dentro de una base de datos.
Aprenderlas bien no significa solo saber cómo se escriben. Significa entender cuándo usarlas, cómo evitar errores y cómo trabajar con seguridad sobre datos reales.
Si ya entiendes SELECT, estas tres operaciones te acercan muchísimo a construir aplicaciones funcionales de verdad. Porque aquí es donde MySQL deja de ser solo lectura y empieza a convertirse en una herramienta viva dentro de tu proyecto.