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:
| Comando | Acción | Ejemplo de uso |
|---|---|---|
SELECT | Consultar datos | Obtener clientes de una ciudad |
INSERT | Agregar filas | Registrar un nuevo pedido |
UPDATE | Modificar datos | Cambiar el precio de un producto |
DELETE | Eliminar filas | Borrar 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
Ventajas y desventajas de las impresoras 3D
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.
Ventajas y desventajas de una Sociedad Anónima
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.
Historia de la impresión 3D: evolución y avances
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áctica | Por qué |
|---|---|
Usar WHERE en UPDATE/DELETE | Evitas 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/UPDATE | Evitas errores y datos sucios |
Usar alias (AS) en consultas complejas | Mejor legibilidad |
DML vs DDL vs DCL – No los confundas
| Lenguaje | Función | Comandos típicos |
|---|---|---|
| DDL (Data Definition) | Definir estructura | CREATE, ALTER, DROP |
| DML (Data Manipulation) | Manipular datos | SELECT, INSERT, UPDATE, DELETE |
| DCL (Data Control) | Controlar permisos | GRANT, REVOKE |
Errores comunes al empezar con DML
- Olvidar el WHERE en DELETE → Adiós datos.
- Usar comillas simples incorrectamente: los textos llevan
' ', los números no. - No respetar tipos de datos: intentar insertar texto en columna numérica.
- Confundir NULL con 0 o cadena vacía.
- No hacer respaldo antes de UPDATE masivo (si estás en producción, haz un
SELECTprimero).
Ejercicio rápido para practicar
Dada la tabla empleados con columnas: id, nombre, salario, departamento.
Escribe las consultas DML para:
- Insertar un nuevo empleado: id=10, nombre=’Mariana’, salario=2500, departamento=’Ventas’.
- Aumentar en un 10% el salario de todos los de Ventas.
- Mostrar los nombres de quienes ganan más de 3000.
- 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:
- Definir el Lenguaje de Manipulación de Datos (DML) y diferenciarlo de DDL y DCL.
- Identificar los cuatro comandos principales:
SELECT,INSERT,UPDATEyDELETE. - Escribir consultas
SELECTcon filtros (WHERE), ordenamiento (ORDER BY) y selección de columnas específicas. - Insertar una o múltiples filas en una tabla usando
INSERT INTO. - Actualizar datos existentes con
UPDATE, entendiendo la importancia de la cláusulaWHERE. - Eliminar filas con
DELETEaplicando condiciones precisas. - Reconocer y evitar los errores más comunes (olvidar
WHERE, errores de sintaxis con comillas, tipos de datos). - Aplicar buenas prácticas como el uso de transacciones y consultas selectivas para optimizar rendimiento.
- Resolver problemas básicos de manipulación de datos en un contexto de base de datos relacional.
- 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...
