Cómo eliminar registros de una tabla en MySQL (Comando DELETE)

mysql

Otra de las tareas en la gestión de bases de datos es el borrado de información, esa es una labor que demanda responsabilidad y cuidado; debido a que los registros quedan eliminados de forma permanente, inclusive si realizas una copia de seguridad, el proceso de restauración puede dejar tu sistema fuera de línea por algunos minutos, sin embargo hoy veremos cómo eliminar registros de una tabla en MySQL, en caso de necesitar borrar información innecesaria.

Cómo eliminar registros de una tabla en MySQL (Comando DELETE)

Para ejemplificar el comando DELETE, utilizaremos la tabla “Personas” que hemos creado en un artículo anterior.

Cómo crear tablas en MySQL uso de create table (MySQL – MaríaDB)

Sintaxis del comando DELETE

DELETE FROM tabla WHERE condicion;

¡Nota importante!: Cuando utilizamos DELETE debemos especificar obligatoriamente la cláusula WHERE, esta nos permitirá definir la condición para borrar los registros deseados, ¡Ojo si no colocas WHERE se borrarán todos los datos de la tabla!.

Veamos algunos ejemplos para borrar registros de una tabla en MySQL

Ejemplo 1: Borrando el registro de la persona con ID: 2;

DELETE FROM Persona WHERE Id = 2;

Como podemos observar indicamos mediante WHERE el Id del registro que deseamos borrar, por lo tanto el resto de registros no se tocarán.

Ejemplo 2: Borrando las personas que tengan como nombre María.

DELETE FROM Persona WHERE Nombre = 'María';

En este caso la columna nombre no es una llave primaria; por lo cual podrían existir varias personas de nombre María, “todos estos registros serían eliminados”.

Ejemplo 3: Borrando las personas de apellido Pérez y tengan teléfono 202030.

DELETE FROM Persona WHERE Apellido='Pérez' AND Telefono = '202030';

Aquí utilizamos el operador lógico AND, para indicar que se borrarán los registros que cumplan con las dos condiciones.

Para construir consultas con este comando también es válido utilizar todos los operadores de relación.

Operador Nombre
< Menor que
> Mayor que
= Igual a
>= Mayor o igual que
<= Menor o igual que
!=   o  <> Diferente de

Recomendaciones de cómo eliminar registros de una tabla en MySQL

Ya hemos definido lo delicado que es el manejo de este comando, por lo cual es importante tener presente los siguientes puntos.

  • Realiza una copia de seguridad cuando intentes borrar registros.
  • Intenta realizar una consulta con SELECT para verificar que la condición en el WHERE arroje los registros exactos que deseas borrar.
  • Nunca ejecutes el comando DELETE sin WHERE, borraría todo el contenido de la tabla.
  • Construye con tiempo y calma la consulta final, recuerda que los cambios se reflejan de forma inmediata.
  • Aprende el manejo de transacciones con COMMIT y ROLLBACK, para minimizar la posibilidad de pérdida de datos si borraste registros por error.
  • Recuerda: un espacio en blanco puede evitar que se borrre un registro, el parámetro enviado en el WHERE debe ser idéntico al que está en la tabla.

Finalmente ejecutar el comando DELETE no revolverá ningún conjunto de resultados o filas, ya que no es un comando de consulta si no de acción sobre las tablas de tu base de datos, solo informa la cantidad de registros afectados ejemplo: 3 row(s) affected.