
2.3 Manejo de Datos
El manejo de datos en MySQL implica manipular los registros almacenados en las tablas de una base de datos. Las principales operaciones son INSERT(para agregar nuevos registros), UPDATE (para modificar registros existentes) y DELETE(para eliminar registros). Además, es importante entender cómo trabajar con valores nulos (`NULL`), que representan la ausencia de un valor en una columna.
2.3.1 Inserción de Datos: INSERT INTO
El comando `INSERT INTO` se utiliza para agregar nuevos registros a una tabla. Puedes insertar un solo registro o múltiples registros a la vez.
2.3.1.1 Insertar un Solo Registro
La sintaxis básica para insertar un solo registro es:
INSERT INTO nombre_tabla (columna1, columna2, ...)
VALUES (valor1, valor2, ...);
Ejemplo:
Supongamos que tenemos una tabla `clientes` con las siguientes columnas: `id`, `nombre`, `email`, `fecha_registro`. Queremos agregar un nuevo cliente a esta tabla:
INSERT INTO clientes (nombre, email, fecha_registro)
VALUES ('Juan Pérez', 'juan.perez@example.com', '2024-08-10');
En este ejemplo:
- Se está insertando un nuevo registro en la tabla `clientes`.
- No se especifica un valor para `id` porque se asume que es una columna auto_incremental, es decir, MySQL asigna automáticamente un valor único a `id`.
2.3.1.2 Insertar Múltiples Registros
También puedes insertar varios registros en una sola consulta:
INSERT INTO clientes (nombre, email, fecha_registro)
VALUES
('Ana García', 'ana.garcia@example.com', '2024-08-11'),
('Luis Martínez', 'luis.martinez@example.com', '2024-08-12');
En este ejemplo, se están agregando dos nuevos registros a la tabla `clientes` en una sola operación.
2.3.2 Actualización de Datos: UPDATE
El comando `UPDATE` se utiliza para modificar registros existentes en una tabla. Puedes actualizar una o más columnas de uno o más registros que cumplan ciertas condiciones.
2.3.2.1 Actualizar un Solo Campo
La sintaxis básica para actualizar un solo campo es:
UPDATE nombre_tabla
SET columna1 = nuevo_valor
WHERE condicion;
Ejemplo:
Imagina que quieres actualizar el correo electrónico de un cliente específico:
UPDATE clientes
SET email = 'nuevo.email@example.com'
WHERE nombre = 'Juan Pérez';
En este caso:
- Se actualiza la columna `email` del registro donde el nombre es `Juan Pérez`.
2.3.2.2 Actualizar Múltiples Campos
También puedes actualizar múltiples columnas a la vez:
UPDATE clientes
SET nombre = 'Juan Pérez Gómez', email = 'juan.gomez@example.com'
WHERE id = 1;
En este ejemplo:
- Se actualizan tanto el nombre como el correo electrónico del cliente con `id = 1`.
2.3.2.3 Actualización Masiva
Puedes actualizar múltiples registros a la vez aplicando la condición a varios registros:
UPDATE clientes
SET fecha_registro = '2024-08-15'
WHERE fecha_registro IS NULL;
Aquí, se actualizan todos los registros en los que `fecha_registro` es `NULL` y se les asigna la fecha `2024-08-15`.
2.3.3 Eliminación de Datos: DELETE
El comando `DELETE` se utiliza para eliminar registros de una tabla. Al igual que con `UPDATE`, puedes eliminar un solo registro o múltiples registros que cumplan ciertas condiciones.
2.3.3.1 Eliminar un Solo Registro
La sintaxis básica para eliminar un solo registro es:
DELETE FROM nombre_tabla
WHERE condicion;
Ejemplo:
Si quieres eliminar un cliente específico de la tabla `clientes`:
DELETE FROM clientes
WHERE nombre = 'Ana García';
Este comando elimina el registro donde el nombre es `Ana García`.
2.3.3.2 Eliminación Masiva
Puedes eliminar varios registros a la vez usando una condición más general:
DELETE FROM clientes
WHERE fecha_registro < '2024-01-01';
Este ejemplo eliminará todos los registros de clientes que se registraron antes del 1 de enero de 2024.
2.3.3.3 Eliminar Todos los Registros
Si deseas eliminar todos los registros de una tabla (pero conservar la estructura de la tabla), puedes usar:
DELETE FROM nombre_tabla;
O bien:
TRUNCATE TABLE nombre_tabla;
La diferencia entre `DELETE` sin `WHERE` y `TRUNCATE` es que `TRUNCATE` es más eficiente porque no genera logs de las operaciones, pero no se puede deshacer una vez ejecutado.
2.3.4 Operaciones con NULL
En SQL, `NULL` representa un valor desconocido o ausente. Las operaciones con `NULL` requieren un manejo especial porque `NULL` no es igual a ningún valor, ni siquiera a otro `NULL`.
2.3.4.1 Comprobar NULL con IS NULL
Para filtrar registros donde una columna es `NULL`, utilizas `IS NULL`:
SELECT * FROM clientes WHERE email IS NULL;
Esto selecciona todos los registros donde el correo electrónico no está presente.
2.3.4.2 Reemplazar NULL con un Valor Definido
Puedes usar la función `COALESCE` para reemplazar un valor `NULL` con un valor predeterminado:
SELECT nombre, COALESCE(email, 'sin_email@example.com') AS email
FROM clientes;
En este ejemplo:
- Si `email` es `NULL`, la consulta devolverá `'sin_email@example.com'` en lugar de `NULL`.
Ejemplo Combinado:
Imagina que estás gestionando una tabla `inventario` para una tienda en línea:
CREATE TABLE inventario (
id_producto INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(100),
cantidad INT,
precio DECIMAL(10, 2),
fecha_actualizacion DATE
);
1. Insertar nuevos productos:
INSERT INTO inventario (nombre, cantidad, precio, fecha_actualizacion)
VALUES
('Laptop', 10, 999.99, '2024-08-10'),
('Mouse', 50, 19.99, '2024-08-10');
2. Actualizar la cantidad y el precio de un producto
UPDATE inventario
SET cantidad = 15, precio = 949.99
WHERE nombre = 'Laptop';
3. Eliminar un producto del inventario:
DELETE FROM inventario
WHERE nombre = 'Mouse';
4. Seleccionar todos los productos con `NULL` en `fecha_actualizacion`:
SELECT * FROM inventario WHERE fecha_actualizacion IS NULL;
5. Actualizar todos los registros con `NULL` en `fecha_actualizacion`:
UPDATE inventario
SET fecha_actualizacion = '2024-08-10'
WHERE fecha_actualizacion IS NULL;
Resumen
El punto 2.3 Manejo de Datos cubre las operaciones básicas que son esenciales para mantener la integridad y la actualidad de los datos en una base de datos MySQL. Aprenderás cómo insertar nuevos datos, actualizar datos existentes, eliminar registros que ya no son necesarios y manejar valores `NULL` de manera efectiva. Estas operaciones son fundamentales para cualquier aplicación que dependa de bases de datos para almacenar y manipular información.
Clic para ver los demas Capitulos : MySQL desde Básico hasta Avanzado
No hay comentarios