MySQL TRUNCATE TABLE

Resumen: en este tutorial, aprenderá a utilizar la sentencia MySQL TRUNCATE TABLE para eliminar todos los datos de una tabla.

Introducción a la sentencia TRUNCATE TABLE de MySQL

La sentencia TRUNCATE TABLE de MySQL permite borrar todos los datos de una tabla.

Lógicamente, la sentencia TRUNCATE TABLE es como una sentencia DELETE sin cláusula WHERE que borra todas las filas de una tabla, o una secuencia de sentencias DROP TABLE y CREATE TABLE.

Sin embargo, la sentencia TRUNCATE TABLE es más eficiente que la sentencia DELETE porque elimina y vuelve a crear la tabla en lugar de eliminar las filas una por una.

Aquí está la sintaxis básica de la sentencia TRUNCATE TABLE:

Code language: SQL (Structured Query Language) (sql)

En esta sintaxis, se especifica el nombre de la tabla que se desea eliminar todos los datos después de las palabras clave TRUNCATE TABLE.

La palabra clave TABLE es opcional. Sin embargo, es una buena práctica utilizar la palabra clave TABLE para distinguir entre la sentencia TRUNCATE TABLE y la función TRUNCATE().

Si hay alguna restricción FOREIGN KEY de otras tablas que hagan referencia a la tabla que se trunca, la sentencia TRUNCATE TABLE fallará.

Debido a que una operación de truncamiento causa un commit implícito, por lo tanto, no se puede revertir.

La sentencia TRUNCATE TABLE restablece el valor de la columna AUTO_INCREMENTO a su valor inicial si la tabla tiene una columna AUTO_INCREMENT.

La sentencia TRUNCATE TABLE no dispara triggers DELETE asociados a la tabla que se está truncando.

A diferencia de una sentencia DELETE, el número de filas afectadas por la sentencia TRUNCATE TABLE es 0, lo que debe interpretarse como que no hay información.

Ejemplo de TRUNCATE TABLE de MySQL

Vamos a tomar un ejemplo de uso de la sentencia TRUNCATE TABLE.

Primero, cree una nueva tabla llamada books para la demostración:

Code language: SQL (Structured Query Language) (sql)

A continuación, inserte datos ficticios en la tabla books utilizando el siguiente procedimiento almacenado:

Code language: SQL (Structured Query Language) (sql)

A continuación, cargue 10.000 filas en la tabla books. Tardará un rato.

Code language: SQL (Structured Query Language) (sql)

Después, compruebe los datos de la tabla books:

Code language: SQL (Structured Query Language) (sql)

Por último, utilice la sentencia TRUNCATE TABLE para eliminar todas las filas de la tabla books:

Code language: SQL (Structured Query Language) (sql)

Note que puede comparar el rendimiento entre la sentencia TRUNCATE TABLE con la sentencia DELETE.

En este tutorial, ha aprendido a utilizar la sentencia MySQL TRUNCATE TABLE para eliminar todos los datos de una tabla de manera eficiente, especialmente para una tabla grande.

  • ¿Ha sido útil este tutorial?
  • SíNo

Deja una respuesta

Tu dirección de correo electrónico no será publicada.