MySQL DELETE elimina entradas o registros de una tabla. Puedes utilizar el comando para eliminar filas in­di­vi­dua­les o todas las filas de la tabla.

¿Qué es MySQL DELETE?

MySQL trabaja con tablas y, por tanto, te ayuda a es­tru­c­tu­rar y almacenar tus datos de forma clara. De vez en cuando se deben borrar datos para ga­ra­n­ti­zar que el sistema de gestión de bases de datos y las entradas al­ma­ce­na­das se mantienen siempre ac­tua­li­za­das. El comando de software más adecuado para ello es MySQL DELETE. Con esta función se es­pe­ci­fi­ca el conjunto exacto de datos que hay que eliminar. Para ello, debes es­pe­ci­fi­car los datos co­rre­s­po­n­die­n­tes y además indicar de qué tabla se van a eliminar.

La sintaxis de MySQL DELETE

La sintaxis básica de MySQL DELETE se explica muy fá­ci­l­me­n­te. Si estás apre­n­die­n­do a usar MySQL, ya conoces la sintaxis o es­tru­c­tu­ra de comandos como MySQL CONCAT, MySQL REPLACE, MySQL DATE o MySQL DATEDIFF. MySQL DELETE tiene una es­tru­c­tu­ra parecida a las an­te­rio­res, sin embargo, precisa dos datos im­po­r­ta­n­tes que el usuario debe pro­po­r­cio­nar. La sintaxis de MySQL DELETE tiene la siguiente es­tru­c­tu­ra:

DELETE FROM tabla
WHERE condición;
bash

Con la in­fo­r­ma­ción “FROM” le indicas al sistema de qué tabla se va a eliminar el registro. Con “WHERE” defines qué condición debe cumplir un registro para ser eliminado. Si omites la condición “WHERE”, se eliminan todas las filas.

Ejemplo de MySQL DELETE

La forma más fácil de entender cómo funciona MySQL DELETE exac­ta­me­n­te es con un ejemplo práctico. Imagina una empresa con un di­re­c­to­rio de clientes. Este se almacena en una tabla llamada “Clientes”:

Número de cliente Nombre Ciudad País
1 Pedro Bogotá Colombia
2 Juanjo Valencia España
3 Carlos Buenos Aires Argentina
4 Jorge Quito Ecuador
5 Daniel La Asunción Paraguay

Si ahora quieres eliminar el cliente “Pedro”, utiliza el comando MySQL DELETE. Para ello introduce lo siguiente:

DELETE FROM Clientes
WHERE Name = "Pedro";
bash

De esta forma, se elimina la línea co­rre­s­po­n­die­n­te de la tabla “Clientes”.

Vaciar la tabla al completo con MySQL DELETE

Como se ha indicado an­te­rio­r­me­n­te, también puedes utilizar el comando MySQL DELETE para eliminar todas las filas de una tabla, pero sin eliminar la tabla en sí. El comando co­rre­s­po­n­die­n­te al ejemplo anterior tiene el siguiente aspecto:

DELETE FROM Clientes;
bash

Esto elimina todas las entradas; sin embargo, la tabla y su es­tru­c­tu­ra pe­r­ma­ne­cen intactas.

MySQL DELETE LIMIT

Al añadir “LIMIT” se puede limitar el número de filas a eliminar con MySQL DELETE. Para ello, primero se le indica al sistema que cla­si­fi­que las entradas. La es­tru­c­tu­ra de la sintaxis es la siguiente:

DELETE FROM tabla
ORDER BY: condición
LIMIT: número;
bash

Para un ejemplo como el de la lista de clientes me­n­cio­na­da an­te­rio­r­me­n­te, puedes utilizar el comando MySQL DELETE añadiendo “LIMIT” de la siguiente manera:

DELETE FROM Clientes
ORDER BY Nombre
LIMIT 2;
bash

En este caso, el sistema ordenará a todos los clientes al­fa­bé­ti­ca­me­n­te por la primera letra de su nombre y eliminará los dos primeros.

Un uso al­te­r­na­ti­vo de MySQL DELETE con “LIMIT” sería el siguiente:

DELETE FROM Clientes
WHERE País = "España"
ORDER BY Nombre
LIMIT 2;
bash

En este caso, todos los clientes de España se ordenarán al­fa­bé­ti­ca­me­n­te y se eli­mi­na­rán las dos primeras entradas.

Ir al menú principal