Drop vs Truncate

Drop et Truncate sont deux instructions SQL (Structured Query Language) qui sont utilisées dans les systèmes de gestion de base de données, où nous souhaitons supprimer des enregistrements de données d'une base de données. Les instructions Drop et Truncate suppriment toutes les données d'une table et l'instruction SQL associée. L'opération de suppression n'est pas efficace dans ce cas car elle utilise plus d'espaces de stockage que Drop et Truncate.

Dans le cas, si nous voulons supprimer une table dans une base de données avec toutes ses données, SQL nous permet de le faire facilement en utilisant l'instruction Drop. La commande Drop est une commande DDL (Data Definition Language) et peut être utilisée pour détruire une base de données, une table, un index ou une vue existants. Il supprime toutes les informations d'une table, ainsi que la structure de la table de la base de données. En outre, nous souhaitons peut-être nous débarrasser de toutes les données d'une table simplement, mais sans la table, et nous pouvons utiliser l'instruction Truncate en SQL dans un tel scénario. Tronquer est également une commande DDL qui élimine toutes les lignes d'une table mais conserve la même définition de table pour une utilisation future.

Commande Drop

Comme mentionné précédemment, la commande Drop supprime la définition de table et toutes ses données, contraintes d'intégrité, index, déclencheurs et privilèges d'accès, qui ont été créés sur cette table particulière. Il supprime donc entièrement l'objet existant de la base de données et les relations avec les autres tables ne seront également plus valides après l'exécution de la commande. Il supprime également toutes les informations sur la table du dictionnaire de données. Voici la syntaxe typique pour utiliser l'instruction Drop sur une table.

TABLE DROP

Nous devons simplement remplacer le nom de la table que nous voulons supprimer de la base de données dans l'exemple ci-dessus de la commande Drop.

Il est important de souligner que l'instruction Drop ne peut pas être utilisée pour supprimer une table, qui a déjà été référencée par une contrainte de clé étrangère. Dans ce cas, la contrainte de référence de clé étrangère ou cette table particulière doit d'abord être supprimée. En outre, l'instruction Drop ne peut pas être appliquée sur les tables système de la base de données.

La commande Drop étant une instruction de validation automatique, l'opération une fois déclenchée ne peut pas être annulée et aucun déclencheur ne sera déclenché. Lorsqu'une table est supprimée, toutes les références à la table ne seront pas valides, et donc, si nous voulons réutiliser la table, elle doit être recréée avec toutes les contraintes d'intégrité et tous les privilèges d'accès. Toutes les relations avec les autres tables doivent également être localisées à nouveau.

Commande tronquer

La commande Tronquer est une commande DDL, elle supprime toutes les lignes d'une table sans aucune condition spécifiée par l'utilisateur et libère l'espace utilisé par la table, mais la structure de la table avec ses colonnes, index et contraintes reste la même. Tronquer élimine les données d'une table en désallouant les pages de données utilisées pour stocker les données de table, et seules ces désallocations de page sont conservées dans le journal des transactions. Il utilise donc moins de ressources de journal des transactions et de ressources système par rapport à d'autres commandes SQL connexes comme Supprimer. Donc, Truncate est une déclaration un peu plus rapide que les autres. Voici la syntaxe typique de la commande Tronquer.

TABLE TRONCÉE

Nous devons remplacer le nom de la table, dont nous voulons supprimer la totalité des données, dans la syntaxe ci-dessus.

Truncate ne peut pas être utilisé sur une table qui a été référencée par une contrainte de clé étrangère. Il utilise automatiquement une validation avant d'agir et une autre validation par la suite, donc la restauration de la transaction est impossible et aucun déclencheur n'est déclenché. Si nous voulons réutiliser la table, il nous suffit d'accéder à la définition de table existante dans la base de données.

Quelle est la différence entre Drop et Truncate?

Les commandes Drop et Truncate sont des commandes DDL et également des instructions de validation automatique de sorte que les transactions effectuées à l'aide de ces commandes ne peuvent pas être annulées.

La principale différence entre Drop et Truncate est que la commande Drop supprime non seulement toutes les données d'une table, mais également la structure de la table de manière permanente de la base de données avec toutes les références, tandis que la commande Truncate supprime uniquement toutes les lignes d'une table et conserve la structure de la table et ses références.

Si une table est supprimée, les relations avec les autres tables ne seront plus valides et les contraintes d'intégrité et les privilèges d'accès seront également supprimés. Donc, si la table doit être réutilisée, elle doit être reconstruite avec les relations, les contraintes d'intégrité et également les privilèges d'accès. Mais si une table est tronquée, la structure de la table et ses contraintes restent pour une utilisation future, et donc, aucune des recréations ci-dessus n'est requise pour la réutilisation.

Lorsque ces commandes sont appliquées, nous devons être prudents pour les utiliser. En outre, nous devrions avoir une meilleure compréhension de la nature de ces commandes, de leur fonctionnement et également une planification minutieuse avant de les utiliser afin d'éviter de manquer des éléments essentiels. Enfin, ces deux commandes peuvent être utilisées pour nettoyer les bases de données rapidement et facilement, en consommant moins de ressources.