Unidad 4: DML (Data Manipulation Language)

08.12.2025
Unidad 4: DML - Bases de Datos Relacionales

Unidad 4: DML (Data Manipulation Language)

Bases de Datos Relacionales
Elaborado por: Ing. Victor Manuel Garcia Rios
Material Elaborado con fines didácticos

4.0 ¿Qué es DML?

El Lenguaje de Manipulación de Datos (DML) es el subconjunto de SQL utilizado para gestionar los datos dentro de las tablas. A diferencia del DDL (que crea estructuras), el DML se encarga de las operaciones CRUD (Create, Read, Update, Delete) sobre la información.

Concepto Clave: DML nos permite "hablar" con los datos: insertar filas nuevas, leerlas, modificarlas o eliminarlas. No afecta la estructura de la tabla (columnas), solo su contenido (filas).
Caso Práctico: Gestión Escolar
Situación

Tenemos una tabla vacía llamada ALUMNOS.

Acción DDL (Previa)

Creamos la tabla (CREATE TABLE...). Esto es la estructura.

Acción DML (Unidad 4)

Inscribimos a "Juan Pérez" (INSERT), consultamos su promedio (SELECT), corregimos su apellido (UPDATE) o lo damos de baja (DELETE).

Autoevaluación: Introducción
1. ¿Qué significan las siglas DML?
Ver respuesta
Data Manipulation Language (Lenguaje de Manipulación de Datos).
2. ¿El comando CREATE TABLE pertenece a DML?
Ver respuesta
No, pertenece a DDL (Data Definition Language).
3. ¿Cuál es la operación más común en DML?
Ver respuesta
SELECT (Consultar datos).

4.1 Estructura básica (SELECT y WHERE)

La instrucción SELECT es la herramienta fundamental para recuperar datos. Junto con WHERE, nos permite filtrar exactamente qué información queremos ver.

SELECT columna1, columna2
FROM nombre_tabla
WHERE condición;
Caso Práctico: Buscar clientes de México

Tabla: CLIENTES (id, nombre, pais, edad).

Paso 1: Definir columnas

Queremos ver el nombre y la edad.
SELECT nombre, edad

Paso 2: Definir origen

De la tabla de clientes.
FROM CLIENTES

Paso 3: Filtrar

Solo los que sean de México.
WHERE pais = 'Mexico';

Autoevaluación: SELECT
1. ¿Qué hace el asterisco (*)?
Ver respuesta
Selecciona todas las columnas de la tabla.
2. ¿Para qué sirve WHERE?
Ver respuesta
Para filtrar registros que cumplan una condición específica.
3. ¿Cómo filtro precios menores a 50?
Ver respuesta
WHERE precio < 50

4.2 Manipulación (INSERT, UPDATE, DELETE)

Estos comandos cambian físicamente los datos almacenados. Deben usarse con precaución, especialmente DELETE y TRUNCATE.

INSERT

Agrega nuevas filas.

INSERT INTO tabla VALUES...;

UPDATE

Modifica filas existentes.

UPDATE tabla SET campo=val WHERE...;

DELETE

Borra filas.

DELETE FROM... WHERE...;

Caso Práctico: Corregir un salario

El empleado con ID 5 recibió un aumento. Su salario debe ser 20000.

Paso 1: Comando

Usamos UPDATE porque el registro ya existe.

Paso 2: Asignación

SET salario = 20000

Paso 3: Condición (¡CRUCIAL!)

WHERE id_empleado = 5; (Si olvidamos el WHERE, ¡actualizamos a todos!).

Autoevaluación: Manipulación
1. ¿Qué pasa si hago un UPDATE sin WHERE?
Ver respuesta
Se modifican TODAS las filas de la tabla. ¡Peligro!
2. Diferencia entre DELETE y TRUNCATE.
Ver respuesta
DELETE borra fila por fila (y permite WHERE). TRUNCATE vacía la tabla completa instantáneamente.
3. Comando para agregar datos.
Ver respuesta
INSERT INTO.

4.3 Funciones de Agregación

Permiten realizar cálculos sobre un conjunto de filas y devolver un único valor de resultado.

- COUNT(*): Cuenta filas.
- SUM(columna): Suma valores.
- AVG(columna): Promedio.
- MAX(columna) / MIN(columna).
Caso Práctico: Calcular nómina total

Queremos saber cuánto pagamos en total de salarios.

Paso 1: Elegir función

Necesitamos sumar, usamos SUM.

Paso 2: Query

SELECT SUM(salario) FROM empleados;

Autoevaluación: Agregación
1. ¿Qué función cuenta filas?
Ver respuesta
COUNT().
2. ¿AVG funciona con texto?
Ver respuesta
No, solo con datos numéricos.
3. ¿Cómo obtengo el valor mínimo?
Ver respuesta
MIN(columna).

4.4 Consultas sobre múltiples tablas (JOINs)

Usamos la cláusula JOIN para combinar filas de dos o más tablas basándonos en una columna relacionada.

SELECT T1.columna, T2.columna
FROM Tabla1 AS T1
INNER JOIN Tabla2 AS T2
ON T1.id_comun = T2.id_comun;
Caso Práctico: ¿Qué carrera estudia el alumno?

Tabla ALUMNOS (nombre, id_carrera) y Tabla CARRERAS (id_carrera, nombre_carrera).

Paso 1: Origen

FROM ALUMNOS

Paso 2: Unión

INNER JOIN CARRERAS

Paso 3: Relación (ON)

ON ALUMNOS.id_carrera = CARRERAS.id_carrera

Autoevaluación: JOINs
1. ¿Qué es un INNER JOIN?
Ver respuesta
Devuelve solo las filas que tienen coincidencia en ambas tablas.
2. ¿Qué palabra clave define la condición?
Ver respuesta
ON.
3. ¿Qué es un LEFT JOIN?
Ver respuesta
Trae todo de la tabla izquierda, aunque no coincida con la derecha.

Laboratorio de Prácticas SQL (Simulador)

Utiliza la consola simulada para escribir las consultas solicitadas. El sistema evaluará tu sintaxis básica y mostrará cómo se vería el resultado.

Ejercicio 1: Registro de Productos (INSERT)

Objetivo: Inserta un nuevo producto en la tabla PRODUCTOS.

Datos: Descripción: 'Laptop Gamer', Precio: 15000, Stock: 5.

Ver Solución Correcta
INSERT INTO PRODUCTOS (descripcion, precio, stock) VALUES ('Laptop Gamer', 15000, 5);
Ejercicio 2: Reporte de Ventas (JOIN)

Objetivo: Muestra el nombre del cliente y la fecha de su factura.

Tablas: CLIENTES (id, nombre) y FACTURAS (id, fecha, id_cliente).

Ver Solución Correcta
SELECT CLIENTES.nombre, FACTURAS.fecha
FROM CLIENTES
INNER JOIN FACTURAS ON CLIENTES.id = FACTURAS.id_cliente;
Ejercicio 3: Limpieza de Usuarios (DELETE)

Objetivo: Elimina a los usuarios que tengan el estado 'inactivo' en la tabla USUARIOS.

Ver Solución Correcta
DELETE FROM USUARIOS WHERE estado = 'inactivo';
Ejercicio 4: Aumento de Precios (UPDATE)

Objetivo: Sube el precio a 20 pesos a todos los productos de la categoría 'Bebidas'.

Ver Solución Correcta
UPDATE PRODUCTOS SET precio = 20 WHERE categoria = 'Bebidas';
Ejercicio 5: Inventario Total (SUM)

Objetivo: Calcula la suma total del stock disponible en la tabla ALMACEN.

Ver Solución Correcta
SELECT SUM(stock) FROM ALMACEN;

Resumen Unidad 4

Compendio de comandos DML vistos en la unidad.

ComandoPropósito
SELECTLeer datos.
INSERTCrear datos.
UPDATEModificar datos.
DELETEBorrar fila.
JOINUnir tablas.

Material de apoyo docente - Bases de Datos Relacionales

Maestro Víctor Manuel García Ríos
Todos los derechos reservados 2022
Creado con Webnode Cookies
¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar