Middle
¿Cuál es la diferencia entre DELETE y TRUNCATE en SQL?
sobes.tech AI
Respuesta de la IA
Las principales diferencias entre DELETE y TRUNCATE en SQL:
- DELETE elimina filas de la tabla una por una y puede tener una condición
WHERE. La operación se registra en el log, lo que permite deshacer los cambios (ROLLBACK). - TRUNCATE elimina todas las filas de la tabla de manera completa, sin posibilidad de especificar una condición. Es una operación más rápida, ya que no registra la eliminación de cada fila por separado, sino que restablece las páginas de datos.
Ejemplo:
DELETE FROM users WHERE age < 18; -- eliminará solo a los usuarios menores de 18
TRUNCATE TABLE users; -- eliminará a todos los usuarios de inmediato
También, TRUNCATE generalmente restablece los contadores de autoincremento, mientras que DELETE no.