Différence entre supprimer et tronquer

Différence entre supprimer et tronquer
Différence entre supprimer et tronquer

Vidéo: Différence entre supprimer et tronquer

Vidéo: Différence entre supprimer et tronquer
Vidéo: Tableurs - Différence entre supprimer et effacer du contenu (Excel) 2024, Novembre
Anonim

Supprimer vs Tronquer

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

Supprimer la déclaration

L'instruction Delete permet à l'utilisateur de supprimer des données d'une table existante dans une base de données en fonction d'une condition spécifiée, et la "clause Where" est utilisée pour déterminer cette condition. La commande de suppression est appelée une exécution consignée, car elle supprime une seule ligne à la fois et conserve une entrée pour chaque suppression de ligne dans le journal des transactions. Donc, cela a pour effet de ralentir l'opération. La suppression est une instruction DML, elle 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 l'exécution de la commande Supprimer, elle doit être validée ou annulée afin d'enregistrer les modifications de manière permanente. L'instruction de suppression ne supprime pas la structure de table 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 Supprimer est indiquée ci-dessous.

SUPPRIMER DE

ou

SUPPRIMER DE OÙ

Tronquer l'instruction

L'instruction Truncate supprime toutes les données d'une table existante dans une base de données, mais elle préserve 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. Ainsi, il n'est 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 à nouveau. Truncate supprime des données entières en désallouant les pages de données utilisées pour conserver les données, et seules ces désallocations de page sont conservées dans le journal des transactions. Par conséquent, la commande truncate n'utilise que peu de ressources système et de journal des transactions pour fonctionner, elle est donc plus rapide que les autres commandes associées. Truncate est une commande DDL, elle utilise donc des engagements automatiques avant et après l'exécution de l'instruction. Par conséquent, truncate ne peut en aucun cas restaurer les données. Il libère de 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 courante de l'instruction Truncate.

TRUNCATE TABLE

Quelle est la différence entre Supprimer et Tronquer ?

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

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

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

4. L'opération de troncature consomme moins de ressources système et de ressources de journal des transactions que l'opération de suppression, par conséquent, la troncature est considérée comme plus rapide que la suppression.

5. De plus, Delete ne libère pas l'espace utilisé par la table, alors que Truncate libère l'espace utilisé après l'exécution, donc Delete n'est pas efficace en cas de suppression de toutes les données d'une table de base de données.

6. Cependant, Truncate n'est pas autorisé à être utilisé 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 lors de leur application dans les systèmes de gestion de base de données et l'utilisateur doit être conscient de l'utilisation appropriée de ces commandes pour obtenir de bons résultats.

Conseillé: