Différence entre supprimer et tronquer

Supprimer vs tronquer

Les commandes SQL (Structure Query Language), Delete et Truncate sont utilisées pour supprimer les données stockées dans les tables d'une base de données. Supprimer est une instruction DML (Data Manipulation Language) qui supprime tout ou partie des lignes d'une table. La clause 'Where' est utilisée pour spécifier les lignes à supprimer. Si la clause Where n'est pas utilisée avec l'instruction Delete, elle supprime toutes les données de la table. Truncate est une instruction DDL (Data Definition Language) et supprime des données entières de la table. Ces deux commandes ne détruisent pas la structure et les références à la table, et seules les données sont supprimées selon les besoins..

Supprimer une déclaration

L'instruction Delete permet à l'utilisateur de supprimer les données d'une table existante dans une base de données en fonction d'une condition spécifiée. La «clause Where» est utilisée pour déterminer cette condition. La commande de suppression est considérée comme une exécution consignée, car elle ne supprime qu'une ligne à la fois et conserve une entrée pour chaque suppression de ligne dans le journal des transactions. Cela ralentit donc l’opération. Supprimer est une instruction DML et n'est donc pas automatiquement validée lors de l'exécution de la commande. Par conséquent, l'opération de suppression peut être annulée pour accéder à nouveau aux données, si nécessaire. Après exécution de la commande Supprimer, celle-ci doit être validée ou annulée afin de sauvegarder les modifications de manière permanente. L'instruction Delete ne supprime pas la structure de la table de la base de données. De plus, il ne libère pas l'espace mémoire utilisé par la table.

La syntaxe typique de la commande Delete est indiquée ci-dessous..

SUPPRIMER DE

ou

SUPPRIMER DE O

Déclaration tronquée

L'instruction Truncate supprime toutes les données d'une table existante dans une base de données, mais conserve la même structure de table, ainsi que les contraintes d'intégrité, les privilèges d'accès et les relations avec les autres tables. Il n'est donc pas nécessaire de redéfinir la table et l'ancienne structure de table peut être utilisée si l'utilisateur souhaite réutiliser la table. Truncate supprime des données entières en désallouant les pages de données utilisées pour conserver les données. Seules ces désallocations de pages sont conservées dans le journal des transactions. Par conséquent, la commande troncature utilise seulement moins de ressources système et de journal des transactions pour son fonctionnement. Elle est donc plus rapide que les autres commandes associées. Truncate est une commande DDL, elle utilise donc les engagements automatiques avant et après l'exécution de l'instruction. Par conséquent, tronquer ne peut en aucun cas restaurer les données. Il libère l'espace mémoire utilisé par la table après l'exécution. Mais l'instruction Truncate ne peut pas être appliquée sur les tables référencées par des contraintes de clé étrangère.

Voici la syntaxe commune pour l'instruction Truncate.

TABLE TRUNCATE

Quelle est la différence entre supprimer et tronquer?

1. Les commandes Delete et Truncate suppriment les données des tables existantes d'une base de données sans endommager la structure de la table ou d'autres références à la table..

2. Toutefois, la commande Supprimer peut être utilisée pour supprimer des lignes spécifiques uniquement dans une table utilisant une condition pertinente, ou pour supprimer toutes les lignes sans aucune condition, tandis que la commande Truncate ne peut être utilisée que pour supprimer des données entières dans la table..

3. Delete est une commande DML et il peut annuler l'opération si nécessaire, mais Truncate est une commande DDL. Il s'agit donc d'une instruction de validation automatique qui ne peut en aucun cas être annulée. Il est donc important d'utiliser cette commande avec précaution dans la gestion de base de données.

4. L'opération Truncate consomme moins de ressources système et de ressources de journal des transactions que l'opération Delete. Par conséquent, Truncate est considéré comme plus rapide que Delete..

5. En outre, Delete ne libère pas l'espace utilisé par la table, alors que Truncate libère l'espace utilisé après l'exécution. De ce fait, Delete n'est pas efficace en cas de suppression de l'intégralité des données d'une table de base de données..

6. Toutefois, l'utilisation de Truncate n'est pas autorisée lorsque la table est référencée par une contrainte de clé étrangère et, dans ce cas, la commande Delete peut être utilisée à la place de Truncate..

7. Enfin, ces deux commandes présentent des avantages et des inconvénients si elles sont appliquées dans les systèmes de gestion de bases de données. L'utilisateur doit être conscient de l'utilisation appropriée de ces commandes pour obtenir de bons résultats..