Truncado vs. Eliminar SQL

Truncado vs. Eliminar SQL
Hay dos métodos principales para eliminar datos en una base de datos SQL: Truncar y Eliminar. Aunque el proceso puede parecer estrechamente relacionado, comprender la diferencia entre estos comandos puede ser beneficioso para determinar cómo manejar los datos.

Desglosemos la diferencia entre los comandos Truncate y Eliminar en SQL.

Comando sql truncate

El comando truncado en SQL se conoce como lenguaje de definición de datos. Los comandos truncados eliminan los datos de una tabla mientras preservan la estructura de la tabla. A diferencia del comando eliminar, no puede filtrar registros específicos utilizando la cláusula WHERE.

Del mismo modo, no podemos realizar una reversión después de ejecutar los comandos truncados, ya que no se conservan registros para este comando.

Nota: Algunos motores de base de datos admiten reversiones para comandos truncados, pero esto no es universal.

Si una tabla forma parte de una vista indexada o referenciada por una clave extranjera, el comando truncado no funcionará en esa tabla.

La sintaxis del comando es como se muestra:

TABLA TABLA TRUCATE_NAME;

El comando truncate es más rápido que eliminar, ya que no realiza un escaneo para los registros antes de eliminar. También garantiza que toda la tabla esté bloqueada antes de eliminar los datos, reduciendo así el espacio de transacciones.

Dependiendo del motor de la base de datos, necesita permisos explícitos para realizar una operación truncada en una tabla. Por ejemplo, en SQL Server, necesita el permiso de la tabla alter. MySQL requiere permiso de caída, PostgreSQL requiere un permiso truncado, y Oracle requiere la caída de cualquier permiso de tabla.

Comando SQL Eliminar

El comando Eliminar es un comando de manipulación de datos. Le permite eliminar registros de una tabla de base de datos y devuelve el número de registros eliminados. Los comandos Eliminar eliminar las filas de una tabla y no la tabla completa de la base de datos.

A diferencia del comando Truncate, el comando Eliminar le permite filtrar los registros de destino utilizando la cláusula WHERE.

La sintaxis del comando se muestra a continuación:

Eliminar de table_name;

Para filtrar para registros específicos, puede usar la sintaxis como se muestra a continuación:

Eliminar de table_name donde condición;

Nota: Si no especifica las columnas de destino, el comando eliminará todos los registros de la tabla dada.

A diferencia del comando truncado, que bloquea toda la tabla, el comando Elete bloquea filas individuales que conducen a un espacio de transacción más alto, especialmente en una tabla grande.

Para ejecutar un comando eliminar en una tabla, necesita el permiso de eliminación.

Tabla de resumen

La siguiente tabla resume las diferencias entre los comandos SQL Delete y Truncate.

Sql truncar SQL Eliminar
Tipo Lenguaje de definición de datos Lenguaje de manipulación de datos
Tipo de bloqueo Mesa Fila
Retroceder Algunos motores de base de datos
Registros de transacciones Mesa entera Por fila
Uso del espacio de transacción Menos Más alto
Soporte de activación No
Velocidad Muy rapido Lento
Tipo de eliminación Todas las filas Todas o filas específicas (como se especifica)
Funciona con una vista indexada? No
Restablecimiento de columna de identidad Algunos motores de base de datos No
RECUSHAS REGISTROS eliminados? No

En la mayoría de los casos, elegir el mejor tipo de operación dependerá de sus necesidades específicas. Sin embargo, considere los siguientes puntos:

  1. Para filas específicas, opte por Delete.
  2. Truncate es más rápido que eliminar; Por lo tanto, use truncar si desea eliminar todas las filas en una mesa.
  3. Si no le importa la estructura de la tabla, use otros comandos, como la caída.

Conclusión

Este artículo analiza dos comandos fundamentales para eliminar los datos en una base de datos SQL. Usando esta guía, puede especificar explícitamente qué hace el comando truncar o el comando Eliminar en una base de datos relacional. Esperamos que hayas encontrado este artículo útil. Consulte los otros artículos de Sugerencia de Linux para obtener más consejos y tutoriales.