...

Guía completa de DML en SQL: cómo insertar, actualizar y eliminar datos correctamente

Hasta ahora hemos aprendido a consultar y analizar datos en SQL.
Pero llega el momento en que debemos modificarlos, ya sea para agregar nuevos registros, corregir información o eliminar datos obsoletos.

Aquí es donde entra en juego el DML (Data Manipulation Language), el subconjunto de SQL que permite insertar, actualizar y eliminar datos dentro de una tabla.

En este artículo aprenderás a usar INSERT, UPDATE y DELETE de forma segura y ordenada, con ejemplos prácticos que puedes ejecutar directamente en 👉 db-fiddle.com.

También verás buenas prácticas y diferencias entre motores como PostgreSQL y SQL Server.


1. Qué es el DML (Data Manipulation Language)

El DML forma parte del núcleo de SQL y se encarga de modificar la información contenida en las tablas, sin alterar su estructura.
Sus tres comandos principales son:

ComandoFunción principalEjemplo común
INSERTAgregar nuevos registrosInsertar empleados o clientes nuevos
UPDATEModificar datos existentesAjustar salarios, corregir direcciones
DELETEEliminar registrosQuitar registros duplicados o antiguos

2. INSERT – Agregar nuevos registros

INSERT INTO empleados (nombre, puesto, salario, id_departamento)
VALUES ('Laura Sánchez', 'Analista de Datos', 70000, 3);

También puedes insertar varios registros a la vez:

INSERT INTO empleados (nombre, puesto, salario, id_departamento)
VALUES 
('Andrés Molina', 'Diseñador UX', 68000, 2),
('María Castro', 'QA Tester', 65000, 4);

💡 Buenas prácticas:

  • Siempre especifica los nombres de columnas (no uses INSERT INTO tabla VALUES (...) sin columnas).
  • Asegúrate de que los tipos de datos coincidan.
  • Si hay claves foráneas, verifica que el valor exista en la tabla relacionada.

3. UPDATE – Modificar datos existentes

UPDATE empleados
SET salario = salario * 1.10
WHERE id_departamento = 4;

➡️ Este ejemplo aumenta 10% el salario de todos los empleados del departamento 4.

⚠️ ¡Cuidado!
Si olvidas el WHERE, actualizarás todos los registros de la tabla.

-- Evita esto:
UPDATE empleados SET salario = 0;  -- ❌ Afecta a todos los registros

💡 Buenas prácticas:

  • Siempre incluye un WHERE.
  • Antes de ejecutar, prueba el filtro con un SELECT:
SELECT * FROM empleados WHERE id_departamento = 4;

4. DELETE – Eliminar registros

DELETE FROM empleados
WHERE salario < 40000;

➡️ Borra a los empleados con salario menor a 40,000.

Y al igual que UPDATE, nunca olvides el WHERE:

DELETE FROM empleados;  -- ❌ Borra todos los registros de la tabla

5. Diferencias entre motores SQL

MotorParticularidades de DML
PostgreSQLSoporta RETURNING para ver registros afectados (DELETE FROM empleados WHERE salario < 40000 RETURNING *;).
SQL ServerUsa OUTPUT para resultados similares a RETURNING.
MySQL / SQLiteImplementan DML estándar; RETURNING se añadió recientemente en MySQL 8.0+.

6. DML dentro de una transacción

Cuando modificas datos, conviene hacerlo dentro de una transacción para poder revertir errores.

BEGIN;

UPDATE empleados
SET salario = salario + 2000
WHERE id_departamento = 3;

DELETE FROM empleados
WHERE salario > 150000;

COMMIT;

Si algo falla:

ROLLBACK;

7. Buenas prácticas DML

✅ Usa transacciones para operaciones sensibles.
✅ Haz siempre respaldo antes de actualizaciones masivas.
✅ Usa RETURNING (PostgreSQL) o OUTPUT (SQL Server) para verificar resultados.
✅ Evita ejecutar DML en tablas completas sin filtros.


Conclusión

El DML es la herramienta que convierte a SQL en algo más que un lenguaje de consulta:
es el poder de crear, cambiar y mantener los datos que sustentan tu negocio.

Dominar INSERT, UPDATE y DELETE es el primer paso hacia un trabajo profesional y seguro con tus bases de datos.

Deja un comentario

Seraphinite AcceleratorOptimized by Seraphinite Accelerator
Turns on site high speed to be attractive for people and search engines.