SQL

Eliminar datos de una tabla de SQL Server con TRUNCATE TABLE

Estrada Web Group
Estrada Web Group
Eliminar datos de una tabla de SQL Server con TRUNCATE TABLE

Resumen: en este tutorial, aprenderás a usar la declaración TRUNCATE TABLE de SQL Server para eliminar todas las filas de una tabla de manera rápida y eficiente.

Introducción a la sentencia TRUNCATE TABLE de SQL Server

Cuando se desea eliminar todas las filas de una tabla, normalmente se usa la declaración DELETE sin una cláusula WHERE, ahora aprenderas a usar TRUNCATE TABLE para hacer eso.

El siguiente ejemplo crea una nueva tabla denominada customer_groups e inserta algunas filas en la tabla:

CREATE TABLE sales.customer_groups (
    group_id INT PRIMARY KEY IDENTITY,
    group_name VARCHAR (50) NOT NULL
);
 
INSERT INTO sales.customer_groups (group_name)
VALUES
    (Estrada Web Group),
    ('Third Party'),
    ('One time');

Para eliminar todas las filas de la tabla customer_groups, se utiliza la declaración DELETE de la siguiente manera:

DELETE FROM sales.customer_groups;

Además de la declaración DELETE FROM, se puede usar la declaración TRUNCATE TABLE para eliminar todas las filas de una tabla.

TRUNCATE TABLE

A continuación se ilustra la sintaxis de la sentencia TRUNCATE TABLE:

TRUNCATE TABLE [database_name.][schema_name.]table_name;

En esta sintaxis, primero se especifica el nombre de la tabla de la que se desea eliminar todas las filas. En segundo lugar, schema_name es el nombre del esquema en la base de datos en la que se creó la tabla. El nombre de la base de datos es opcional. Si lo omite, la declaración eliminará la información de la tabla en la base de datos actualmente conectado.

Las siguientes declaraciones primero insertan algunas filas en la tabla customer_groups y luego eliminan todas las filas usando la declaración TRUNCATE TABLE:

INSERT INTO sales.customer_groups (group_name)
VALUES
    ('Estrada Web Group'),
    ('Third Party'),
    ('One time');  
 
TRUNCATE TABLE sales.customer_groups;

TRUNCATE TABLE es similar a la declaración DELETE sin una cláusula WHERE. Sin embargo, la declaración TRUNCATE se ejecuta más rápido y utiliza menos recursos del sistema y del registro de transacciones.

TRUNCATE TABLE vs. DELETE

TRUNCATE TABLE tiene las siguientes ventajas sobre la instrucción DELETE:

1) Usar menos registro de transacciones
La declaración DELETE elimina las filas de una en una e inserta una entrada en el registro de transacciones para cada fila eliminada. Por otro lado, la declaración TRUNCATE TABLE elimina los datos desasignando las páginas de datos utilizadas para almacenar los datos de la tabla e inserta solo las desasignaciones de página en los registros de transacciones.
 
2) Usa menos candados
Cuando la instrucción DELETE se ejecuta mediante un bloqueo de fila, cada fila de la tabla se bloquea para su eliminación. TRUNCATE TABLE bloquea la tabla y las páginas, no cada fila.
 
3) Restablecimiento de identidad
Si la tabla que se va a truncar tiene una columna de identidad, el contador de esa columna se restablece al valor inicial cuando la sentencia TRUNCATE TABLE elimina los datos, pero no así con la sentencia DELETE.
 
En este tutorial, aprendiste a usar la declaración TRUNCATE TABLE para eliminar todas las filas de una tabla de manera rápida y eficiente.

 

Compartir artículo:

Más artículos geniales

Cómo limitar el número de filas que me regresa una consulta en SQL Server utilizando la cláusula OFFSET FETCH

Cómo limitar el número de filas que me regresa una consulta en SQL Server utilizando la cláusula OFFSET FETCH

Las cláusulas OFFSET y FETCH se utilizan con la cláusula ORDER BY. Las cuales te permiten limitar el número de filas que devolverá una consulta.

Ver artículo completo
Modelos de recuperación en SQL Server

Modelos de recuperación en SQL Server

Resumen: en este tutorial, aprenderás sobre el modelo de recuperación en SQL Server, incluido el registro simple, completo y masivo.

Ver artículo completo
¿Cómo obtener la cantidad de registros en SQL Server con la función COUNT()?

¿Cómo obtener la cantidad de registros en SQL Server con la función COUNT()?

En este tutorial, aprenderás a usar la función COUNT() de SQL Server para obtener la cantidad de elementos en un conjunto.

Ver artículo completo

Manténgase actualizado

Obtenga excelente contenido en su bandeja de entrada todas las semanas.
Solo contenido excelente, no compartimos su correo electrónico con terceros.
Subir al inicio de la pantalla