Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

Cómo usar el comando TRUNCATE TABLE en MySQL

El Comando Truncate Table en MySQL es una forma rápida y eficiente de eliminar todos los datos de una tabla. En este artículo, te explicaré qué es el comando TRUNCATE TABLE, cómo funciona, cuáles son sus ventajas y desventajas, y cómo usarlo con ejemplos prácticos.

¿Qué es el comando TRUNCATE TABLE?

El comando TRUNCATE TABLE es una sentencia SQL que permite borrar todos los datos de una tabla. Lógicamente, el comando TRUNCATE TABLE es similar a un comando DELETE sin una cláusula WHERE que elimina todas las filas de una tabla, o a una secuencia de comandos DROP TABLE y CREATE TABLE.

Sin embargo, el comando TRUNCATE TABLE es más eficiente que el comando DELETE porque elimina y recrea la tabla en lugar de borrar las filas una por una. Esto hace que el comando TRUNCATE TABLE sea más rápido y consuma menos recursos.

Aquí está la sintaxis básica del comando TRUNCATE TABLE:

TRUNCATE [TABLE] nombre_de_tabla;

En esta sintaxis, se especifica el nombre de la tabla de la que se quiere eliminar todos los datos después de las palabras clave TRUNCATE TABLE. La palabra clave TABLE es opcional, pero es una buena práctica usarla para distinguir entre el comando TRUNCATE TABLE y la función TRUNCATE().

¿Cómo funciona el comando TRUNCATE TABLE?

El comando TRUNCATE TABLE funciona de la siguiente manera:

  • Primero, verifica si hay alguna restricción de clave externa (FOREIGN KEY) desde otras tablas que hagan referencia a la tabla que se quiere truncar. Si hay alguna, el comando TRUNCATE TABLE fallará y devolverá un error.
  • Segundo, elimina la tabla y libera el espacio ocupado por los datos y los índices.
  • Tercero, crea una nueva tabla con la misma estructura y definición que la tabla original.
  • Cuarto, restablece el valor en la columna AUTO_INCREMENT a su valor inicial si la tabla tiene una columna AUTO_INCREMENT.
  • Quinto, devuelve un mensaje indicando que la operación se ha completado con éxito.

El comando TRUNCATE TABLE no dispara los disparadores (triggers) asociados a la tabla que se está truncando. Además, el número de filas afectadas por el comando TRUNCATE TABLE es 0, lo que debe interpretarse como ninguna información.

¿Cuáles son las ventajas y desventajas del comando TRUNCATE TABLE?

El comando TRUNCATE TABLE tiene algunas ventajas y desventajas que hay que tener en cuenta antes de usarlo. A continuación, se enumeran algunas de ellas:

Ventajas

  • Es más rápido y eficiente que el comando DELETE porque elimina y recrea la tabla en lugar de borrar las filas una por una.
  • Libera el espacio ocupado por los datos y los índices de forma inmediata.
  • Restablece el valor en la columna AUTO_INCREMENT a su valor inicial si la tabla tiene una columna AUTO_INCREMENT.

Desventajas

  • No se puede usar con tablas que tengan restricciones de clave externa (FOREIGN KEY) desde otras tablas.
  • No se puede deshacer (rollback) porque causa un compromiso implícito (implicit commit).
  • No dispara los disparadores (triggers) asociados a la tabla que se está truncando.
  • No devuelve el número de filas afectadas por la operación.

¿Cómo usar el comando TRUNCATE TABLE con ejemplos prácticos?

Para ilustrar cómo usar el comando TRUNCATE TABLE con ejemplos prácticos, vamos a crear una nueva tabla llamada libros para la demostración:

CREATE TABLE libros (
  id INT AUTO_INCREMENT PRIMARY KEY,
  titulo VARCHAR(255) NOT NULL
) ENGINE = INNODB;

A continuación, vamos a insertar algunos datos ficticios en la tabla libros usando el siguiente procedimiento almacenado:

DELIMITER $$
CREATE PROCEDURE cargar_datos_libros(IN num INT(4))
BEGIN
  DECLARE contador INT(4) DEFAULT 0;
  DECLARE titulo_libro VARCHAR(255) DEFAULT '';
  
  WHILE contador 

Luego, vamos a cargar 10.000 filas en la tabla libros. Esto puede tardar un poco.

CALL cargar_datos_libros(10000);

Después, vamos a comprobar los datos en la tabla libros:

SELECT * FROM libros;

Finalmente, vamos a usar el comando TRUNCATE TABLE para eliminar todos los datos de la tabla libros:

TRUNCATE TABLE libros;

Si volvemos a consultar la tabla libros, veremos que está vacía y que el valor de la columna AUTO_INCREMENT se ha restablecido a 1.

Conclusión

En este artículo, te he explicado qué es el comando TRUNCATE TABLE en MySQL, cómo funciona, cuáles son sus ventajas y desventajas, y cómo usarlo con ejemplos prácticos. Espero que te haya sido útil y que hayas aprendido algo nuevo.

Si te ha gustado este artículo, compártelo con tus amigos y déjame un comentario. También puedes suscribirte a mi blog para recibir más artículos sobre MySQL y otros temas relacionados con el desarrollo web.

Artículos relacionados:

  • Cómo Eliminar una Base de Datos en MySQL
  • Cómo crear Tablas en MySQL
  • Comando COUNT en MySQL
  • Crear índice en MySQL
  • Crear una vista en MySQL
  • Comando SUM en MySQL
  • Comando LIMIT en MySQL
  • TRUNCATE en MySQL
  • INSERT MySQL
  • SELECT en MySQL
  • LIKE en MySQL
  • Cómo realizar un MySQL Update


This post first appeared on Andrés Ledo – Blog De Andrés Ledo Encontrarás, please read the originial post: here

Share the post

Cómo usar el comando TRUNCATE TABLE en MySQL

×

Subscribe to Andrés Ledo – Blog De Andrés Ledo Encontrarás

Get updates delivered right to your inbox!

Thank you for your subscription

×