Lenguaje de manipulación de datos (DML): definición y ejemplo

Rodrigo Ricardo Publicado el 14 noviembre, 2020 4 minutos y 47 segundos de lectura

Si trabajas con bases de datos, hay algo que necesitas dominar sí o sí: cómo consultar, insertar, modificar o eliminar información. Eso se hace con DML. En los próximos 5 minutos entenderás qué es, para qué sirve y verás ejemplos reales que puedes probar hoy mismo.

¿Qué es el DML?

DML (Data Manipulation Language) es un subconjunto del lenguaje SQL utilizado para gestionar los datos dentro de las tablas de una base de datos relacional. No crea ni elimina estructuras (eso lo hace DDL), sino que trabaja con el contenido.

Los cuatro comandos principales son:

ComandoAcciónEjemplo de uso
SELECTConsultar datosObtener clientes de una ciudad
INSERTAgregar filasRegistrar un nuevo pedido
UPDATEModificar datosCambiar el precio de un producto
DELETEEliminar filasBorrar un usuario inactivo

¿Por qué es crucial dominar DML?

  • Es el 80% del trabajo diario con bases de datos (consultas y actualizaciones).
  • Todo sistema transaccional (bancos, e-commerce, redes sociales) depende de DML.
  • Habilidades básicas requeridas para cualquier puesto de datos: analista, desarrollador, ingeniero.

Comandos DML en detalle (con ejemplos prácticos)

Usaremos una tabla estudiantes para todos los ejemplos:

sql

CREATE TABLE estudiantes (
    id INT PRIMARY KEY,
    nombre VARCHAR(50),
    carrera VARCHAR(50),
    promedio DECIMAL(3,2)
);

1. SELECT – La consulta por excelencia

Sintaxis básica:

sql

SELECT columnas FROM tabla WHERE condición;

Ejemplos:

sql

-- Todas las columnas de todos los estudiantes
SELECT * FROM estudiantes;

-- Solo nombres y promedios de los que tienen más de 8.0
SELECT nombre, promedio FROM estudiantes WHERE promedio > 8.0;

-- Ordenar por promedio descendente
SELECT nombre, promedio FROM estudiantes ORDER BY promedio DESC;

Tip profesional: Nunca uses SELECT * en producción si solo necesitas 2 columnas; consume más recursos.

2. INSERT – Agregar datos

Sintaxis:

sql

INSERT INTO tabla (col1, col2) VALUES (valor1, valor2);

Ejemplos:

sql

-- Insertar una fila completa
INSERT INTO estudiantes (id, nombre, carrera, promedio)
VALUES (1, 'Ana López', 'Ingeniería', 8.5);

-- Insertar múltiples filas
INSERT INTO estudiantes VALUES 
(2, 'Carlos Ruiz', 'Medicina', 7.9),
(3, 'Lucía Méndez', 'Derecho', 9.2);

3. UPDATE – Modificar datos existentes

¡Cuidado! Sin WHERE actualizas todas las filas.

Sintaxis:

sql

UPDATE tabla SET columna = nuevo_valor WHERE condición;

Ejemplos:

sql

-- Subir 0.5 puntos al promedio de un estudiante específico
UPDATE estudiantes SET promedio = promedio + 0.5 WHERE id = 2;

-- Cambiar carrera de todos los que tienen promedio < 7.0
UPDATE estudiantes SET carrera = 'Indeciso' WHERE promedio < 7.0;

4. DELETE – Eliminar datos

Igual que UPDATE: sin WHERE se borra TODO.

Sintaxis:

sql

DELETE FROM tabla WHERE condición;

Ejemplos:

sql

-- Eliminar a un estudiante por ID
DELETE FROM estudiantes WHERE id = 3;

-- Eliminar estudiantes con promedio menor a 6
DELETE FROM estudiantes WHERE promedio < 6.0;

Ejemplo completo integrando todos los comandos

Situación: Base de datos de una biblioteca.

sql

-- 1. CREAR TABLA (esto es DDL, pero necesario para el ejemplo)
CREATE TABLE libros (
    isbn VARCHAR(13) PRIMARY KEY,
    titulo VARCHAR(100),
    autor VARCHAR(50),
    año INT,
    disponible BOOLEAN
);

-- 2. INSERTAR datos iniciales
INSERT INTO libros VALUES 
('978-0451524935', '1984', 'George Orwell', 1949, TRUE),
('978-0061120084', 'To Kill a Mockingbird', 'Harper Lee', 1960, TRUE);

-- 3. CONSULTAR todos los libros disponibles
SELECT * FROM libros WHERE disponible = TRUE;

-- 4. ACTUALIZAR: marcar un libro como prestado
UPDATE libros SET disponible = FALSE WHERE isbn = '978-0451524935';

-- 5. ELIMINAR libros anteriores al año 1900 (ninguno aquí)
DELETE FROM libros WHERE año < 1900;

Buenas prácticas con DML

PrácticaPor qué
Usar WHERE en UPDATE/DELETEEvitas modificaciones masivas accidentales
Preferir SELECT columnas en vez de *Mejor rendimiento y claridad
Transacciones (BEGIN/COMMIT/ROLLBACK)Para garantizar integridad en operaciones múltiples
Validar datos antes de INSERT/UPDATEEvitas errores y datos sucios
Usar alias (AS) en consultas complejasMejor legibilidad

DML vs DDL vs DCL – No los confundas

LenguajeFunciónComandos típicos
DDL (Data Definition)Definir estructuraCREATE, ALTER, DROP
DML (Data Manipulation)Manipular datosSELECT, INSERT, UPDATE, DELETE
DCL (Data Control)Controlar permisosGRANT, REVOKE

Errores comunes al empezar con DML

  1. Olvidar el WHERE en DELETE → Adiós datos.
  2. Usar comillas simples incorrectamente: los textos llevan ' ', los números no.
  3. No respetar tipos de datos: intentar insertar texto en columna numérica.
  4. Confundir NULL con 0 o cadena vacía.
  5. No hacer respaldo antes de UPDATE masivo (si estás en producción, haz un SELECT primero).

Ejercicio rápido para practicar

Dada la tabla empleados con columnas: idnombresalariodepartamento.

Escribe las consultas DML para:

  1. Insertar un nuevo empleado: id=10, nombre=’Mariana’, salario=2500, departamento=’Ventas’.
  2. Aumentar en un 10% el salario de todos los de Ventas.
  3. Mostrar los nombres de quienes ganan más de 3000.
  4. Eliminar empleados con salario menor a 2000.

Soluciones:

sql

-- 1.
INSERT INTO empleados VALUES (10, 'Mariana', 2500, 'Ventas');

-- 2.
UPDATE empleados SET salario = salario * 1.10 WHERE departamento = 'Ventas';

-- 3.
SELECT nombre FROM empleados WHERE salario > 3000;

-- 4.
DELETE FROM empleados WHERE salario < 2000;

Resultados de aprendizaje

Después de leer este artículo, el estudiante debería ser capaz de:

  1. Definir el Lenguaje de Manipulación de Datos (DML) y diferenciarlo de DDL y DCL.
  2. Identificar los cuatro comandos principales: SELECTINSERTUPDATE y DELETE.
  3. Escribir consultas SELECT con filtros (WHERE), ordenamiento (ORDER BY) y selección de columnas específicas.
  4. Insertar una o múltiples filas en una tabla usando INSERT INTO.
  5. Actualizar datos existentes con UPDATE, entendiendo la importancia de la cláusula WHERE.
  6. Eliminar filas con DELETE aplicando condiciones precisas.
  7. Reconocer y evitar los errores más comunes (olvidar WHERE, errores de sintaxis con comillas, tipos de datos).
  8. Aplicar buenas prácticas como el uso de transacciones y consultas selectivas para optimizar rendimiento.
  9. Resolver problemas básicos de manipulación de datos en un contexto de base de datos relacional.
  10. Comprender la relevancia del DML en sistemas transaccionales del mundo real (e-commerce, bancos, CRM).

Explora más sobre este tema

Selecciona un tema y sigue aprendiendo...

Rodrigo Ricardo
Rodrigo Ricardo Editor y fundador