Para los ejemplos de este artículo, supongamos que tenemos una tabla con identificaciones únicas que vamos a utilizar para eliminar varias filas en una sola consulta. Por supuesto, también puedes usar otras condiciones/columnas.
Eliminar todas las filas como se especifica
Usando la cláusula IN , podemos especificar múltiples identificaciones de fila para eliminar. Por ejemplo, los siguientes query eliminaría las filas con identificaciones iguales a 1, 5 y 7:
DELETE from `tablename` WHERE `id` IN (1, 5 , 7);
Borrar todas las filas excepto algunas
Usando la cláusula NOT IN podemos borrar todas las filas excepto algunas como esta:
DELETE FROM `tablename` WHERE `id` NOT IN (1, 5, 7);
Esto borraría todas las filas excepto las filas con identificaciones iguales a 1, 5 y 7.
Borrar todas las filas de un rango
Podemos eliminar un número de filas entre un rango de la siguiente manera:
DELETE FROM `tablename` WHERE `id` >= 3 AND `id` <= 10;
Esto equivale a utilizar el operador BETWEEN como aquí:
DELETE FROM `table_name` WHERE `id` BETWEEN 3 AND 10;
Ambas consultas borrarían todas las filas con ids entre 3 y 10 (incluidos).