Saltar al contenido

Como Usar El Comando Truncate en Sql

abril 12, 2022
TRUNCATE SQL

En este post vamos a ver el uso del comando truncate en sql. Este comando sirve para eliminar datos de una tabla, dejándola tal y como estaba antes de la ejecución del comando. Es importante destacar que truncate es equivalente a delete sin clausula where. Sin embargo, truncate tiene una característica adicional: libera espacio en disco inmediatamente después de su ejecución. Por esta razón, es preferible utilizar truncate cuando se quiere eliminar todos los datos de una tabla.

Para ejecutar el comando truncate en sql, basta con escribir:

TRUNCATE TABLE nombre_tabla;

donde nombre_tabla es el nombre de la tabla que queremos modificar.

a diferencia del comando delete de sql el truncate

no requiere de una clausula where para especificar que registros queremos eliminar, sino que directamente elimina todos los datos de la tabla.

Cuando debo utilizar delete en vez del truncate

Pues es sencillo , truncate solo se puede usar cuando vamos a eliminar todos los datos de una tabla, si necesitamos eliminar registros concretos tendremos que recurrir al comando delete.

Comando Go T-Sql
Comando Go T-Sql

Que pasa si tienes clave primarias y quieres eliminar todos los datos ?

Pues truncate reseteará la clave primaria a 0 en el caso de que la clave sea un identity , por lo que si después de ejecutar el comando insertas un nuevo registro, este tendrá un id=0. En cambio, delete no hace esto para el caso del delete la claver primaria no comienza en CERO .

Por que el truncate libera espacio inmediatamente ?

Pues porque elimina los datos de forma directa , mientras que el delete marca los registros como borrados pero no los elimina hasta que no se haya hecho un COMMIT o un ROLLBACK.

En resumen podemos decir que truncate es un comando DDL mientras que delete forma parte del lenguaje DML, y aunque ambos sirven para eliminar datos de una tabla, existen diferencias significativas entre ellos.

Espero que este post te haya sido útil!

close

¡No te pierdas MEGA Curso mysql gratis por tiempo limitado!

¡No hacemos spam! Lee nuestra [link]política de privacidad[/link] para obtener más información.