La creazione e la manipolazione dei dati costituiscono la base dei database e li chiamiamo rispettivamente DDL e DML. Un DDL è l'abbreviazione di Data Definition Language. Potrebbe o creare o modificare le strutture di dati nei database e non potrebbero essere utilizzati per modificare i dati presenti sulle tabelle. Ad esempio, abbiamo comandi che creano semplicemente una tabella con gli attributi della tabella specificati ma non aggiunge mai alcuna riga alla tabella. Ma un DML, il Data Manipulation Language, è in grado di aggiungere, eliminare o modificare i dati nelle tabelle. Come regola generale, i comandi DDL riguardano le strutture delle tabelle mentre i comandi DML riguardano i dati effettivi. Lascia che sia, perché ci limitiamo a deviare dall'argomento "Differenza tra tronca e cancella"? Ci sono ragioni per cui abbiamo parlato del DML e del DDL. Lo capiresti nella discussione in arrivo.
Lo scopo di un comando Tronca è eliminare l'intera tabella. Quindi, quando usi un comando Tronca, perdi tutti i dati sul tavolo e dovresti essere cauto nell'usarlo. Facci sapere come usarlo.
La sintassi di Truncate:
TABELLA DEI TRONCATI nome-tabella;
Qui, dovresti specificare il nome della tabella che dovrebbe essere cancellata nel suo complesso. Questo assicura che ci sia un tavolo seduto nello spazio di memoria. Ecco un esempio di utilizzo di Truncate.
Di seguito è la tabella 'dipendente' e basta guardare le righe di dati in esso.
emp-id | emp-nome | designazione |
1011 | Jack | Impiegato |
1012 | Roseo | Admin |
1014 | Nancy | Finanza |
Ora, rilasciamo il comando seguente sulla tabella dei dipendenti.
TABELLA DEI TRONCATI dipendente;
Ecco la risultante della sintassi precedente e non ci sono dati al suo interno.
emp-id | emp-nome | designazione |
Lo scopo di un comando Elimina è rimuovere le righe specificate dalla tabella. Qui, qui viene usata la clausola 'Where' per specificare le righe che devono essere cancellate. Quando non specificiamo le righe, il comando eliminerebbe tutte le righe nella tabella. Basta guardare la sintassi di esso.
CANCELLA DA dipendente;
La sintassi precedente cancella tutte le righe dalla tabella 'employee'. Quindi la tabella risultante non conterrebbe dati.
CANCELLA DA dipendente DOVE emp-id = 1011;
Questa istruzione cancella solo una singola riga il cui emp-id è 1011. Quindi la tabella risultante sarebbe la seguente.
emp-id | emp-nome | designazione |
1012 | Roseo | Admin |
1014 | Nancy | Finanza |
Troncare -> rimuovi interi dati dalla tabella -> Il tablespace è ora liberato.
Elimina -> Copia i dati della tabella originale nello spazio Rollback -> cancella i dati specificati / l'intera tabella -> Lo spazio tabella viene liberato ma lo spazio Rollback viene riempito.
Tronca è un comando DDL, il trigger non è consentito qui. Ma un comando Elimina è un comando DML, i Trigger sono consentiti qui.
Quindi quelle sono le differenze e guardiamo in forma tabellare.
S.No | Differenze in | Troncare | Elimina |
1. | DDL o DML? | È un DDL e funziona a livello di struttura dei dati. Altri esempi per DDL sono CREATE e ALTER. | È un comando DML e funziona sui dati della tabella. Il DML è l'acronimo di Data Manipulation Language. I comandi come SELECT, UPDATE e INSERT sono esempi perfetti per un DML. Il DML è l'acronimo di Data Manipulation Language. |
2. | Come funziona? | Non appena viene emesso il comando Tronca, viene semplicemente cercata la tabella specificata. Quindi rimuove completamente tutti i dati dalla memoria. | Qui, i dati della tabella originale vengono copiati nello spazio chiamato spazio "Rollback" prima di eseguire la manipolazione dei dati effettiva. Quindi le modifiche vengono eseguite sullo spazio dati della tabella effettiva. |
3. | RollBack | Il comando Tronca non utilizza mai uno spazio di rollback e non è possibile tornare ai dati originali. Uno spazio di rollback è esclusivo e viene occupato quando vengono emessi i comandi DML. | Il comando Delete utilizza lo spazio di rollback e potremmo semplicemente utilizzare 'Commit' o 'RollBack' per accettare o annullare rispettivamente le modifiche.
|
4. | trigger | Tronca è un comando DDL, i trigger non sono consentiti. | Elimina è un comando DML, i trigger sono consentiti qui.
|
5. | Che è più veloce? | Potrebbe rimuovere tutti i dati e non è necessario verificare le condizioni corrispondenti. Inoltre, i dati originali non vengono copiati nello spazio di rollback e ciò consente di risparmiare un sacco di tempo. Questi due fattori rendono Truncate più veloce di Elimina.
| Utilizza lo spazio di rollback e sempre i dati originali devono essere conservati su di esso. Questo è un onere aggiuntivo e, a sua volta, richiede molto tempo rispetto al Truncate. |
6. | Potremmo usare la clausola WHERE? | Poiché Truncate non cerca mai alcuna condizione di corrispondenza e rimuove solo tutte le righe, non è possibile utilizzare una clausola 'Where' qui. | Ma potremmo sempre specificare la condizione con l'aiuto della clausola 'where' nel comando Delete. |
7. | Che occupa più spazio? | Il troncato non utilizzerà lo spazio di rollback e salva quella memoria. | Ha bisogno di un backup sotto forma di spazio di rollback e quindi richiede più spazio di memoria rispetto al troncato. |
Conoscere le differenze tra due entità diverse amplia la conoscenza di entrambi! Sei atterrato su un percorso corretto, ovvero la pagina web per comprendere le differenze, in particolare, tra i comandi truncate e delete. Spero che tu ora sia chiaro con le sue differenze e facci sapere se ti abbiamo aiutato a capirlo. Potresti anche aiutarci a sottolineare che è stato lasciato!