Différence Entre Drop Et Tronquer

Différence Entre Drop Et Tronquer
Différence Entre Drop Et Tronquer

Vidéo: Différence Entre Drop Et Tronquer

Vidéo: Différence Entre Drop Et Tronquer
Vidéo: SQL: Delete Vs Truncate Vs Drop 2024, Avril
Anonim

Drop vs tronquer

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 où nous souhaitons supprimer une table dans une base de données avec toutes ses données, SQL nous permet de le faire facilement à l'aide de l'instruction Drop. La commande Drop est une commande DDL (Data Definition Language), et elle 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 table de la base de données. De plus, nous pouvons souhaiter supprimer 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. Truncate est également une commande DDL et elle élimine toutes les lignes d'une table mais préserve la même définition de la 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. Ainsi, il supprime entièrement l'objet existant 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 d'utilisation de 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 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 clé étrangère de référence ou cette table particulière doit d'abord être supprimée. De plus, l'instruction Drop ne peut pas être appliquée aux 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 utiliser à nouveau la table, 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 localisées à nouveau.

Commande Tronquer

La commande Truncate est une commande DDL et 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, ses index et ses 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, et seules ces désallocations de page sont conservées dans le journal des transactions. Ainsi, il utilise moins de ressources de journal des transactions et de ressources système que d'autres commandes SQL associées telles que Delete. Donc, Truncate est une déclaration un peu plus rapide que les autres. Voici la syntaxe typique de la commande Truncate.

TABLE DU TRONCAT

Nous devons remplacer le nom de la table, dont nous voulons supprimer toutes les 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 un commit automatiquement avant d'agir et un autre commit après, donc l'annulation de la transaction est impossible et aucun déclencheur n'est déclenché. Si nous voulons réutiliser la table, nous devons uniquement 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 ainsi que 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 est que la commande Drop supprime non seulement toutes les données d'une table, mais également supprime définitivement la structure de la table de la base de données avec toutes les références, tandis que la commande Tronquer ne supprime que toutes les lignes d'une table., et il préserve la structure du tableau 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 ainsi, 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. De plus, nous devrions avoir une meilleure compréhension de la nature de ces commandes, de leur fonctionnement, et aussi 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.

Recommandé: