Tema de la clase

  • Inserción de datos (INSERT)
  • Actualización de datos (UPDATE)
  • Eliminación de datos (DELETE)
  • Buenas prácticas en la manipulación de datos

Esta lección continúa con la base de datos escuela_unidad6 creada anteriormente y se trabajará utilizando MySQL Workbench y phpMyAdmin.


Propósito de la clase

Al finalizar la clase, el estudiante será capaz de:

  • Insertar registros en una tabla correctamente.
  • Modificar información existente sin afectar otros datos.
  • Eliminar registros de forma controlada.
  • Aplicar buenas prácticas para evitar pérdida o corrupción de datos.

1. Recordatorio del proyecto base

Trabajaremos con las tablas:

  • grupos
  • alumnos

Relación:

  • Un grupo puede tener muchos alumnos.
  • Un alumno pertenece a un grupo.

2. INSERT – Insertar datos

El comando INSERT permite agregar nuevos registros a una tabla.

Sintaxis básica

INSERT INTO nombre_tabla (campo1, campo2, campo3)
VALUES (valor1, valor2, valor3);

Ejemplo con el proyecto

INSERT INTO grupos (nombre_grupo)
VALUES ('5C');
INSERT INTO alumnos (nombre, apellido, correo, id_grupo)
VALUES ('Pedro', 'Martínez', 'pedro@email.com', 1);

Insertar múltiples registros

INSERT INTO alumnos (nombre, apellido, correo, id_grupo)
VALUES 
('Laura', 'Gómez', 'laura@email.com', 1),
('Jorge', 'Ruiz', 'jorge@email.com', 2);

Consideraciones importantes

  • Respetar tipos de datos
  • No violar restricciones (NOT NULL, UNIQUE)
  • Respetar llaves foráneas

Si intentas insertar un id_grupo que no existe, MySQL mostrará un error por integridad referencial.


3. UPDATE – Actualizar datos

El comando UPDATE permite modificar registros existentes.

Sintaxis básica

UPDATE nombre_tabla
SET campo = valor
WHERE condicion;

Ejemplo

Actualizar el correo de un alumno:

UPDATE alumnos
SET correo = 'nuevo@email.com'
WHERE id_alumno = 1;

Actualizar múltiples campos

UPDATE alumnos
SET nombre = 'Juan', apellido = 'Ramírez'
WHERE id_alumno = 2;

Riesgo importante

Si no se usa WHERE, se modifican todos los registros:

UPDATE alumnos
SET nombre = 'ERROR';

Nunca ejecutes un UPDATE sin WHERE a menos que realmente quieras modificar toda la tabla.


4. DELETE – Eliminar datos

El comando DELETE elimina registros de una tabla.

Sintaxis básica

DELETE FROM nombre_tabla
WHERE condicion;

Ejemplo

Eliminar un alumno:

DELETE FROM alumnos
WHERE id_alumno = 3;

Riesgo importante

DELETE FROM alumnos;

Esto elimina todos los registros.

Un DELETE sin WHERE borra toda la información de la tabla.


5. Relación con integridad referencial

Si un registro está relacionado con otra tabla, puede haber restricciones al eliminarlo.

Ejemplo

Si un grupo tiene alumnos:

DELETE FROM grupos
WHERE id_grupo = 1;

Puede fallar porque hay alumnos relacionados.


Opciones de comportamiento

  • RESTRICT: No permite eliminar
  • CASCADE: Elimina también los registros relacionados
  • SET NULL: Asigna NULL al campo relacionado