Différence entre tronquer et supprimer Différence Entre

Anonim

La création et la manipulation de données forment la base des bases de données et nous les appelons respectivement DDL et DML. Un DDL est l'abréviation du langage de définition de données. Il pourrait soit créer ou modifier les structures de données dans les bases de données et ils ne pourraient pas être utilisés pour modifier les données présentes sur les tables. Par exemple, nous avons des commandes qui créent simplement une table avec les attributs de table spécifiés mais qui n'ajoutent jamais de lignes dans la table. Mais un langage DML, Data Manipulation Language, est capable d'ajouter, de supprimer ou de modifier des données dans les tables. En règle générale, les commandes DDL traitent les structures de table alors que les commandes DML traitent les données réelles. Soit, pourquoi nous dévions-nous simplement du sujet "Différence entre tronquer et supprimer"? Il y a des raisons pour lesquelles nous avons parlé de la DML et du DDL. Vous le comprendriez dans la discussion à venir.

Qu'est-ce qu'une commande Truncate?

Le but d'une commande Truncate est de supprimer la table entière. Ainsi, lorsque vous utilisez une commande Truncate, vous allez perdre toutes les données sur la table et vous devriez être prudent dans son utilisation. Dites-nous comment l'utiliser.

La syntaxe de Truncate:

TRUNCATE TABLE nom-table ;

Ici, vous devez spécifier le nom de la table qui doit être supprimée dans son ensemble. Cela garantit qu'il y aura une table assis dans l'espace mémoire. Voici un exemple d'utilisation de Truncate.

Vous trouverez ci-dessous la table 'employee' et regardez simplement les lignes de données qui s'y trouvent.

emp-id nom-emp désignation
1011 Valet Commis
1012 Rosy Admin
1014 Nancy > Finance
Maintenant, émettons la commande ci-dessous sur la table des employés.

TABLE DE TRUNCATE

employé; Voici la résultante de la syntaxe ci-dessus et il n'y a pas de données dedans.

emp-id

nom-emp désignation Qu'est-ce qu'une commande Supprimer?

Le but d'une commande Supprimer est de supprimer les lignes spécifiées de la table. Ici, la clause 'Where' est utilisée ici pour spécifier les lignes qui doivent être supprimées. Lorsque nous ne spécifions pas les lignes, la commande supprime toutes les lignes de la table. Regardez simplement la syntaxe de celui-ci.

SUPPRIMER DE

employé; La syntaxe ci-dessus supprime toutes les lignes de la table 'employee'. Ainsi, la table résultante ne contiendrait aucune donnée.

SUPPRIMER DE

employé OERE emp-id = 1011; Cette instruction supprime simplement une seule ligne dont l'identifiant est 1011. La table résultante sera donc la suivante.

emp-id

nom-emp désignation 1012
Rosy Admin 1014
Nancy Finance Différences:

Tronquer est un DDL; Delete est un DML:

  • Nous avons discuté plus haut comment le DDL et le DML fonctionnent dans notre discussion ci-dessus.La commande Truncate est un DDL et fonctionne au niveau de la structure de données. Mais Delete est une commande DML qui fonctionne sur les données de la table. D'autres exemples de DDL sont CREATE et ALTER. De la même manière, nous pourrions dire que les commandes telles que SELECT, UPDATE et REPLACE sont des exemples parfaits pour un DML. Fonctionnement de Truncate et Delete:
  • Dès que nous émettons la commande Truncate, elle recherche simplement la table spécifiée. Ensuite, il supprime complètement toutes les données de la mémoire. Mais la procédure de travail est un peu différente dans le cas d'une suppression. Ici, les données de la table d'origine sont copiées dans l'espace appelé espace de retour arrière avant d'effectuer la manipulation des données. Ensuite, les modifications sont effectuées sur l'espace de données de la table réelle. Donc, les deux diffèrent dans la façon dont ils travaillent. Tronquer

-> supprimer des données entières de la table -> L'espace table est libéré maintenant. Supprimer

-> Copier les données de la table d'origine dans l'espace Roll Back -> supprimer les données / table entières spécifiées -> L'espace table est libéré mais l'espace Roll Back est rempli. Annulation:

  • Un retour arrière est comme une commande Annuler dans nos accessoires Microsoft. Il est utilisé pour annuler les changements que nous avons effectués récemment i. e. à partir du dernier point enregistré. Pour effectuer l'opération, les données doivent être copiées dans l'espace de restauration avant d'être modifiées. Bien que ces reculs nécessitent de la mémoire supplémentaire, ils sont extrêmement utiles pour revenir à l'original. Surtout, quand vous éditez par erreur! Laissez-nous venir à la tronquer et supprimer en ce qui concerne le retour en arrière maintenant. Comme nous l'avons mentionné ci-dessus, Truncate n'utilise jamais d'espace de retour arrière et nous n'avons pas pu revenir aux données d'origine. Mais la commande Supprimer utilise l'espace de retour arrière et nous pouvons simplement utiliser 'Commit' ou 'RollBack' pour accepter ou annuler les changements, respectivement. Déclencheurs:
  • Pour ceux qui ont besoin d'explications sur les déclencheurs, voici une petite note. Les déclencheurs sont un ensemble prédéfini d'opérations / opérations qui doivent être activées lorsque la table rencontre une condition particulière. Par exemple, nous pourrions déclencher le changement du montant du salaire lorsque l'expérience d'un employé avec l'entreprise est supérieure à un an. Ces déclencheurs pourraient également fonctionner sur d'autres tables. Par exemple, nous pourrions mettre à jour la table des finances dès qu'une augmentation de salaire a été faite pour un employé. Truncate est une commande DDL, le trigger n'est pas autorisé ici. Mais une suppression est une commande DML, les triggers sont autorisés ici.

Lequel est le plus rapide?

  • Comme vous l'avez deviné, la commande Truncate serait plus rapide que la commande Delete. Le premier peut supprimer toutes les données et il n'est pas nécessaire de vérifier les conditions correspondantes. De plus, les données d'origine ne sont pas copiées dans l'espace de restauration, ce qui permet d'économiser beaucoup de temps. Ces deux facteurs font que Truncate fonctionne plus vite que Delete. Pourrions-nous utiliser la clause WHERE?
  • La clause 'Where' est utilisée pour spécifier certaines conditions de correspondance et n'a rien à voir avec Truncate. Comme Truncate ne recherche jamais les conditions correspondantes et supprime simplement toutes les lignes, nous ne pouvons pas utiliser une clause 'Where' ici.Mais nous pourrions toujours spécifier la condition à l'aide de la clause 'where' dans la commande Delete. Qui occupe plus d'espace?
  • Le tronqué ne va pas utiliser l'espace de restauration et il enregistre cette mémoire. Mais delete a besoin d'une sauvegarde sous la forme d'un espace de restauration et nécessite donc plus d'espace mémoire que le truncate. Voilà donc les différences et regardons sous forme de tableau.

S. Non

Différences dans Tronquer Supprimer 1.
DDL ou DML? C'est un DDL qui fonctionne au niveau de la structure de données. D'autres exemples de DDL sont CREATE et ALTER. C'est une commande DML qui fonctionne sur les données de la table. Le DML signifie Data Manipulation Language. Les commandes telles que SELECT, UPDATE et REPLACE sont des exemples parfaits pour un DML. Le DML signifie Data Manipulation Language.

2.

Comment ça marche? Dès que nous émettons la commande Truncate, elle recherche simplement la table spécifiée. Ensuite, il supprime complètement toutes les données de la mémoire. Ici, les données de la table d'origine sont copiées dans l'espace appelé espace de retour avant d'effectuer la manipulation des données. Ensuite, les modifications sont effectuées sur l'espace de données de la table réelle. 3.
RollBack La commande Truncate n'utilise jamais d'espace de retour arrière et nous n'avons pas pu revenir aux données d'origine. Un espace de restauration est un espace exclusif et est occupé lorsque les commandes DML sont émises. La commande Supprimer utilise l'espace de retour arrière et nous pouvons simplement utiliser 'Commit' ou 'RollBack' pour accepter ou annuler les changements, respectivement. 4.

Triggers Truncate est une commande DDL, les triggers ne sont pas autorisés. Delete est une commande DML, les triggers sont autorisés ici. 5.

Lequel est le plus rapide? Il pourrait supprimer toutes les données et il n'est pas nécessaire de vérifier les conditions correspondantes. De plus, les données d'origine ne sont pas copiées dans l'espace de restauration, ce qui permet d'économiser beaucoup de temps. Ces deux facteurs font que Truncate fonctionne plus vite que Delete. Il utilise l'espace de retour arrière et toujours les données d'origine doivent y être conservées. C'est un fardeau supplémentaire et, à son tour, prend beaucoup de temps que le Truncate.

6.
Pourrions-nous utiliser la clause WHERE? Comme Truncate ne recherche jamais les conditions correspondantes et supprime simplement toutes les lignes, nous ne pouvons pas utiliser une clause 'Where' ici. Mais nous pouvons toujours spécifier la condition à l'aide de la clause 'where' de la commande Delete. 7.
Qui occupe plus d'espace? Le tronqué ne va pas utiliser l'espace de restauration et il enregistre cette mémoire. Il a besoin d'une sauvegarde sous la forme d'un espace de restauration et, par conséquent, il nécessite plus d'espace mémoire que la valeur tronquée. Connaître les différences entre deux entités élargit les connaissances sur les deux! Vous avez atterri sur un bon chemin je. e. la page Web pour comprendre les différences, en particulier, entre les commandes truncate et delete. J'espère que vous êtes maintenant clair avec ses différences et laissez-nous savoir si nous vous avions aidé à le comprendre. Vous pouvez également nous aider à indiquer ce qui a été laissé!