Lenguaje de Manipulación de Datos (DML)
1. Introducción a DML #
El Lenguaje de Manipulación de Datos (DML) se utiliza para modificar los datos almacenados en una base de datos. Los principales comandos de DML son INSERT, UPDATE, y DELETE.
Comando INSERT #
Sintaxis básica de INSERT:
1INSERT INTO tabla (columna1, columna2, ...) 2VALUES (valor1, valor2, ...);
Ejemplo:
1INSERT INTO estudiantes (nombre, edad, clase) 2VALUES ('Juan', 20, 'Matemáticas');
Este comando agrega un nuevo estudiante llamado Juan, de 20 años, a la clase de Matemáticas.
Comando UPDATE #
Sintaxis básica de UPDATE:
1UPDATE tabla 2SET columna1 = valor1, columna2 = valor2, ... 3WHERE condición;
Ejemplo:
1UPDATE estudiantes 2SET edad = 21 3WHERE nombre = 'Juan';
Este comando actualiza la edad de Juan a 21 años.
Comando DELETE #
Sintaxis básica de DELETE:
1DELETE FROM tabla 2WHERE condición;
Ejemplo:
1DELETE FROM estudiantes 2WHERE nombre = 'Juan';
Este comando elimina el registro del estudiante llamado Juan.
Práctica #
Ejercicio 1: Inserta un nuevo estudiante llamado María, de 22 años, en la clase de Física.
Ejercicio 2: Actualiza la clase de todos los estudiantes llamados Pedro a "Química".
Ejercicio 3: Elimina a todos los estudiantes mayores de 25 años.
2. Comando MERGE (o UPSERT) #
El comando MERGE (en algunos sistemas de bases de datos, como SQL Server) combina la funcionalidad de INSERT y UPDATE en una sola operación. Este comando es útil cuando se quiere insertar nuevos datos si no existen o actualizarlos si ya existen.
Sintaxis básica:
Ejemplo: Si quieres actualizar los salarios de los empleados, y si no existen, insertarlos:
3. RETURNING (obtener resultados de INSERT, UPDATE o DELETE) #
En algunos sistemas de bases de datos como PostgreSQL, el comando RETURNING permite obtener los valores modificados por una consulta INSERT, UPDATE, o DELETE. Es útil cuando se necesita saber qué registros fueron afectados o insertar nuevos registros y obtener automáticamente sus claves generadas.
Sintaxis:
Ejemplo:
Si insertas un nuevo estudiante y quieres obtener su id generado automáticamente:
Resumen del tema
Conceptos clave #
- DML (Data Manipulation Language): sentencias para insertar, modificar y eliminar datos en tablas.
INSERT INTO: agrega nuevas filas con valores explícitos o mediante el resultado de unSELECT.UPDATE ... SET ... WHERE: modifica registros existentes; es vital incluir la cláusulaWHEREpara evitar actualizar toda la tabla.DELETE FROM ... WHERE: elimina filas según condiciones de filtrado.- Upsert /
MERGE: operaciones que insertan o actualizan según la existencia previa del registro (ON DUPLICATE KEY UPDATEen MySQL,ON CONFLICTen PostgreSQL/SQLite,MERGEen Oracle/SQL Server). RETURNING/OUTPUT: cláusula para devolver inmediatamente los valores generados (como IDs autoincrementales) o afectados por la operación.
Qué debes recordar #
Las sentencias UPDATE y DELETE deben ejecutarse siempre con una condición WHERE bien definida (o dentro de una transacción) para evitar la alteración o pérdida accidental de datos.