Truncar y eliminar
La creación y manipulación de datos forman la base de las bases de datos y lo llamamos DDL y DML respectivamente. Una DDL es una abreviatura para el lenguaje de definición de datos. Puede crear o modificar las estructuras de datos en las bases de datos y no se pueden utilizar para alterar los datos presentes en las tablas. Por ejemplo, tenemos comandos que simplemente crean una tabla con los atributos de tabla especificados, pero nunca agrega filas a la tabla. Pero un DML, el lenguaje de manipulación de datos, es capaz de agregar, eliminar o modificar datos en las tablas. Como regla general, los comandos DDL tratan con las estructuras de la tabla, mientras que los comandos DML tratan con los datos reales. Deje que sea así, ¿por qué nos apartamos del tema "Diferencia entre Truncar y Eliminar"? Hay razones por las que hablamos sobre el DML y el DDL. Usted lo entendería en la próxima discusión.
¿Qué es un comando Truncate?
El propósito de un comando Truncate es eliminar toda la tabla. Entonces, cuando usa un comando Truncate, perderá todos los datos de la tabla y debe tener cuidado al usarlo. Háganos saber cómo usarlo.
La sintaxis de Truncate:
TABLA DE TRUNCATOS nombre de la tabla;
Aquí, debe especificar el nombre de la tabla que se debe eliminar en su totalidad. Esto asegura que haya cualquier mesa sentada en el espacio de memoria. Aquí hay un ejemplo del uso de Truncate.
A continuación se muestra la tabla de "empleados" y solo mire las filas de datos que contiene.
emp-id | nombre de pila | designacion |
1011 | Jack | Empleado |
1012 | Rosado | Administración |
1014 | Nancy | Financiar |
Ahora, emitamos el siguiente comando en la tabla de empleados.
TABLA DE TRUNCATOS empleado;
Aquí está la resultante de la sintaxis anterior y no hay datos en ella.
emp-id | nombre de pila | designacion |
¿Qué es un comando de eliminación?
El propósito de un comando Eliminar es eliminar las filas especificadas de la tabla. Aquí, la cláusula 'Where' se usa aquí para especificar las filas que deben eliminarse. Cuando no especificamos las filas, el comando eliminaría todas las filas de la tabla. Solo mira la sintaxis de eso.
BORRAR DE empleado;
La sintaxis anterior elimina todas las filas de la tabla "empleado". Así que la tabla resultante no contendría ningún dato.
BORRAR DE empleado DÓNDE emp-id = 1011;
Esta declaración solo elimina una fila cuyo identificador de emp es 1011. Por lo tanto, la tabla resultante sería la siguiente.
emp-id | nombre de pila | designacion |
1012 | Rosado | Administración |
1014 | Nancy | Financiar |
Diferencias:
- Truncar es un DDL; Eliminar es un DML: Hemos discutido anteriormente cómo funcionan el DDL y el DML en nuestra discusión anterior. El comando Truncar es un DDL y opera en el nivel de la estructura de datos. Pero Eliminar es un comando DML y opera en los datos de la tabla. Otros ejemplos para DDL son CREAR y ALTERAR. De manera similar, podríamos decir que los comandos como SELECT, UPDATE e INSERT son ejemplos perfectos para un DML.
- ¿Cómo funciona Truncate and Delete? Tan pronto como emitimos el comando Truncar, solo busca la tabla especificada. Luego elimina completamente todos los datos de la memoria. Pero el procedimiento de trabajo es un poco diferente en el caso de una eliminación. Aquí, los datos de la tabla original se copian en el espacio denominado espacio "Retroceder" antes de realizar la manipulación real de los datos. Luego, las modificaciones se realizan en el espacio de datos de la tabla real. Entonces, ambos difieren en la forma en que trabajan.
Truncar -> eliminar datos completos de la tabla -> Espacio de tabla se libera ahora.
Borrar -> Copie los datos de la tabla original al espacio Retroceder -> elimine los datos especificados / tabla completa -> Se libera el espacio de la tabla pero se llena el espacio Retroceder.
- Retroceder: Un retroceso es como un comando Deshacer en nuestros accesorios de Microsoft. Se utiliza para cancelar los cambios que hemos realizado recientemente, es decir, desde el último punto guardado. Para llevar a cabo la operación, los datos deben copiarse en el espacio Retroceder antes de editarlos. Aunque estos Rollbacks requieren la memoria adicional, son extremadamente útiles para volver al original. Especialmente, cuando se edita por error! Vayamos al Truncate y Delete con respecto al Roll back ahora. Como comentamos anteriormente, Truncate nunca usa un espacio de retroceso y no pudimos volver a los datos originales. Pero el comando Eliminar usa espacio de retroceso y podríamos usar 'Confirmar' o 'Recuperar' para aceptar o cancelar los cambios respectivamente.
- Gatillos Para aquellos que necesitan una explicación sobre los factores desencadenantes, aquí hay una pequeña nota. Los desencadenadores son un conjunto de operaciones / operaciones preespecificadas que deben activarse cuando la tabla encuentra una condición particular. Por ejemplo, podríamos activar el cambio en el monto del salario cuando la experiencia de un empleado con la compañía sea superior a un año. Estos disparadores podrían funcionar en otras tablas también. Por ejemplo, podríamos actualizar la tabla financiera tan pronto como se haya hecho un aumento en el salario para un empleado.
Truncar es un comando DDL, el disparador no está permitido aquí. Pero un Eliminar es un comando DML, los disparadores están permitidos aquí.
- ¿Cual es mas rápido? Como ha adivinado, el comando Truncar sería más rápido que el comando Eliminar. El primero podría eliminar todos los datos y no es necesario verificar las condiciones coincidentes.Además, los datos originales no se copian en el espacio de reversión y esto ahorra mucho tiempo. Estos dos factores hacen que Truncate funcione más rápido que Eliminar.
- ¿Podríamos usar la cláusula WHERE? La cláusula "Where" se usa para especificar ciertas condiciones coincidentes y no tiene nada que ver con Truncate. Como Truncate nunca busca condiciones coincidentes y simplemente elimina todas las filas, no podríamos usar una cláusula "Where" aquí. Pero siempre podríamos especificar la condición con la ayuda de la cláusula 'where' en el comando Eliminar.
- ¿Cuál ocupa más espacio? Truncate no va a utilizar el espacio de retroceso y guarda esa memoria. Pero eliminar necesita una copia de seguridad en forma de espacio de retroceso y, por lo tanto, requiere más espacio de memoria que el truncado.
Así que esas son las diferencias y veamos en forma tabular.
S.No | Diferencias en | Truncar | Borrar |
1. | DDL o DML? | Es un DDL y opera a nivel de estructura de datos. Otros ejemplos para DDL son CREAR y ALTERAR. | Es un comando DML y opera en los datos de la tabla. El DML significa lenguaje de manipulación de datos. Los comandos como SELECT, UPDATE e INSERT son ejemplos perfectos para un DML. El DML significa lenguaje de manipulación de datos. |
2. | ¿Como funciona? | Tan pronto como emitimos el comando Truncar, solo busca la tabla especificada. Luego elimina completamente todos los datos de la memoria. | Aquí, los datos de la tabla original se copian en el espacio denominado espacio "Retroceder" antes de realizar la manipulación real de los datos. Luego, las modificaciones se realizan en el espacio de datos de la tabla real. |
3. | Retroceder | El comando Truncar nunca usa un espacio de retroceso y no pudimos volver a los datos originales. Un espacio de Retroceso es exclusivo y está ocupado cuando se emiten los comandos DML. | El comando Eliminar utiliza espacio de retroceso y podríamos usar 'Confirmar' o 'Recuperar' para aceptar o cancelar los cambios respectivamente. |
4. | Gatillos | Truncar es un comando DDL, los activadores no están permitidos. | Eliminar es un comando DML, los disparadores están permitidos aquí. |
5. | ¿Cual es mas rápido? | Podría eliminar todos los datos y no es necesario verificar las condiciones coincidentes. Además, los datos originales no se copian en el espacio de reversión y esto ahorra mucho tiempo. Estos dos factores hacen que Truncate funcione más rápido que Eliminar. | Utiliza el espacio de reversión y siempre se deben conservar los datos originales. Esta es una carga adicional y, a su vez, toma mucho tiempo que Truncate. |
6. | ¿Podríamos usar la cláusula WHERE? | Como Truncate nunca busca condiciones coincidentes y simplemente elimina todas las filas, no podríamos usar una cláusula "Where" aquí. | Pero siempre podríamos especificar la condición con la ayuda de la cláusula 'where' en el comando Eliminar. |
7. | ¿Cuál ocupa más espacio? | Truncate no va a utilizar el espacio de retroceso y guarda esa memoria. | Necesita una copia de seguridad en forma de espacio de Retroceso y, por lo tanto, requiere más espacio de memoria que el truncado. |
¡Conocer las diferencias entre cualquiera de las dos entidades amplía el conocimiento sobre ambas! Ha aterrizado en una ruta correcta, es decir, la página web para comprender las diferencias, especialmente, entre los comandos de truncar y eliminar. Espero que ahora esté claro con sus diferencias y háganos saber si le ayudamos a entenderlo. ¡También podrías ayudarnos a señalar lo que queda!