Drop vs Truncate
Drop et Truncate sont deux instructions SQL (Structured Query Language) utilisées dans les systèmes de gestion de base de données, dans lesquelles 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 and Truncate.
Au cas où, si nous souhaitons supprimer une table de la base de données avec toutes ses données, SQL nous permet d’exécuter facilement cette opération à l’aide de l’instruction Drop. La commande Drop est une commande DDL (Data Definition Language) qui peut être utilisée pour détruire une base de données, une table, un index ou une vue existante. Il supprime toutes les informations d'une table, ainsi que la structure de la table de la base de données. En outre, nous pouvons souhaiter supprimer simplement toutes les données d'une table, mais sans la table, et nous pouvons utiliser l'instruction Truncate en SQL dans un tel scénario. Truncate est également une commande DDL et élimine toutes les lignes d'une table, tout en préservant la définition de la table pour une utilisation ultérieure..
Déposer la commande
Comme mentionné précédemment, la commande Drop supprime la définition de la table et toutes ses données, ses contraintes d'intégrité, ses index, ses déclencheurs et ses privilèges d'accès, qui ont été créés sur cette table particulière. Ainsi, l'objet existant est entièrement supprimé de la base de données et les relations avec d'autres tables ne seront plus valides après l'exécution de la commande. En outre, il supprime toutes les informations sur la table du dictionnaire de données. Voici la syntaxe typique pour utiliser l'instruction Drop sur une table..
DROP TABLE
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 noter 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 clé étrangère référençant, ou cette table particulière devrait être supprimée en premier. En outre, l'instruction Drop ne peut pas être appliquée aux tables système de la base de données..
Comme la commande Drop est 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 sont plus valides. Si vous souhaitez utiliser la table à nouveau, elle doit être recréée avec toutes les contraintes d'intégrité et les privilèges d'accès. Toutes les relations avec les autres tables doivent également être repérées.
Commande tronquer
La commande Truncate est une commande DDL. Elle supprime toutes les lignes d'une table sans conditions spécifiées 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. Truncate élimine les données d'une table en libérant les pages de données utilisées pour stocker les données de la table. Seules ces désallocations de pages 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 associées telles que Supprimer. Donc, Truncate est une déclaration un peu plus rapide que d’autres. Voici la syntaxe typique de la commande Truncate.
TABLE TRUNCATE
Nous devrions remplacer le nom de la table, à partir de laquelle nous voulons supprimer toutes les données, dans la syntaxe ci-dessus.
Truncate ne peut pas être utilisé sur une table référencée par une contrainte de clé étrangère. Il utilise automatiquement une validation avant d'agir et une autre après, si bien que l'annulation de la transaction est impossible et qu'aucun déclencheur n'est déclenché. Si nous voulons réutiliser la table, nous devons seulement 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 des instructions de validation automatique afin que les transactions effectuées à l'aide de ces commandes ne puissent pas être annulées.
La principale différence entre Drop et Truncate réside dans le fait que la commande Drop supprime non seulement toutes les données d'une table, mais également la structure de 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 préserve 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. Ainsi, si la table doit être réutilisée, elle doit être reconstruite avec les relations, les contraintes d'intégrité et 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. Par conséquent, aucune des récréations ci-dessus n'est nécessaire pour la réutilisation..
Lorsque ces commandes sont appliquées, nous devons être prudents pour les utiliser. Nous devrions également avoir une meilleure compréhension de la nature de ces commandes, de leur fonctionnement, ainsi qu’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..