Elimina filas de una tabla según las condiciones especificadas.
Limitaciones
La tabla de destino debe tener una clave principal.
No se admiten alias de tabla en las instrucciones
DELETE.Cada instrucción
DELETEsolo elimina datos de una tabla, incluso si la consulta abarca varias tablas combinadas.Para eliminar todas las filas de una tabla o partición, utilice
TRUNCATE TABLEoTRUNCATE TABLE PARTITION. Para obtener más información, consulte TRUNCATE TABLE.
Sintaxis
Eliminar datos de una sola tabla
DELETE FROM table_name
[ WHERE condition ]
Eliminar datos de varias tablas
La instrucción DELETE para varias tablas requiere AnalyticDB for MySQL V3.2.0.0 o posterior. Para consultar o actualizar la versión menor de su clúster, vaya a la página Cluster Information en la consola de AnalyticDB for MySQL y revise la sección Configuration Information. Para consultar las instrucciones, consulte Actualizar la versión menor de un clúster.
Utilice una operación JOIN para filtrar filas entre tablas y elimine las filas coincidentes de la tabla de destino:
DELETE table_name1
FROM table_name1 [INNER JOIN | LEFT JOIN | RIGHT JOIN] table_name2 ON table_name1.column1 = table_name2.column1
[WHERE where_condition]
Ejemplos
Eliminar filas que coinciden con un valor de columna
Elimine todas las filas donde customer_name sea Alex:
DELETE FROM customer WHERE customer_name='Alex';
Eliminar filas que cumplen una condición
Elimine todas las filas donde age sea menor que 18:
DELETE FROM customer WHERE age<18;
Eliminar filas mediante JOIN
Elimine filas de la tabla customer donde el cliente tenga un pedido coincidente y age sea igual a 18:
DELETE customer FROM customer JOIN orders ON customer.id = orders.id WHERE customer.age = 18;
Funcionamiento de DELETE
Las operaciones DELETE en AnalyticDB for MySQL son asíncronas. Tras ejecutar una instrucción DELETE, los datos se marcan para su eliminación, pero no se quitan inmediatamente del almacenamiento. El espacio de almacenamiento se recupera únicamente cuando un trabajo BUILD procesa las filas marcadas.
El uso de almacenamiento no disminuye de inmediato tras ejecutar DELETE. Para recuperar espacio, active un trabajo BUILD:
Automáticamente: Un trabajo BUILD se ejecuta automáticamente cuando el clúster cumple condiciones específicas. Consulte Automatic BUILD.
Manualmente: Active un trabajo BUILD en cualquier momento. Consulte Manual BUILD.