Aprende cómo puedes borrar muchas filas de la tabla SQL por id en una sola SQL query
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).