Abbattiamo la differenza tra i comandi troncati ed elimina in SQL.
Comando SQL Truncate
Il comando Truncate in SQL è noto come lingua di definizione dei dati. I comandi troncati rimuovono i dati da una tabella preservando la struttura della tabella. A differenza del comando Elimina, non è possibile filtrare per record specifici utilizzando la clausola.
Allo stesso modo, non possiamo eseguire il rollback dopo aver eseguito i comandi troncati, poiché non sono preservati i registri per questo comando.
Nota: alcuni motori di database supportano il rollback per i comandi troncati, ma questo non è universale.
Se una tabella fa parte di una vista indicizzata o referenziata da una chiave esterna, il comando Truncate non funzionerà su quella tabella.
La sintassi del comando è come mostrata:
Tabella tabella truncate_name;Il comando Truncate è più veloce di Elimina in quanto non esegue una scansione per i record prima della rimozione. Garantisce inoltre che l'intera tabella sia bloccata prima di rimuovere i dati, riducendo così lo spazio delle transazioni.
A seconda del motore del database, è necessario autorizzazioni esplicite per eseguire un'operazione di troncata su una tabella. Ad esempio, in SQL Server, è necessaria l'autorizzazione della tabella Alter. MySQL richiede l'autorizzazione a caduta, PostgreSQL richiede l'autorizzazione del tronca e Oracle richiede la caduta di eventuali autorizzazioni della tabella.
Comando sql elimina
Il comando ELETE è un comando di manipolazione dei dati. Ti consente di rimuovere i record da una tabella di database e restituisce il numero di record eliminati. I comandi Elimina rimuovono le righe da una tabella e non l'intera tabella dal database.
A differenza del comando Truncate, il comando Elimina consente di filtrare i record di destinazione utilizzando la clausola.
La sintassi del comando è mostrata di seguito:
Elimina da table_name;Per filtrare record specifici, è possibile utilizzare la sintassi come mostrato di seguito:
Elimina da table_name dove condizione;Nota: se non si specifica le colonne di destinazione, il comando rimuoverà tutti i record dalla tabella data.
A differenza del comando Truncate, che blocca l'intera tabella, il comando Elimina blocca le singole righe che portano a uno spazio di transazione più elevato, in particolare su una tabella di grandi dimensioni.
Per eseguire un comando Elimina su una tabella, è necessaria l'autorizzazione elimina.
Tabella riassuntiva
La tabella seguente riassume le differenze tra i comandi SQL ELETE e TRUNCATE.
Troncato SQL | Elimina SQL | |
---|---|---|
Tipo | Lingua di definizione dei dati | Linguaggio di manipolazione dei dati |
Tipo di blocco | Tavolo | Riga |
Rollback | Alcuni motori di database | SÌ |
Registri delle transazioni | Intero tavolo | Per riga |
Utilizzo dello spazio delle transazioni | Meno | Più alto |
Trigger Support | NO | SÌ |
Velocità | Molto veloce | Lento |
Tipo di rimozione | Tutte le file | Righe tutte o specifiche (come specificato) |
Funziona con una vista indicizzata? | NO | SÌ |
Ripristino della colonna di identità | Alcuni motori di database | NO |
RETRI RIMOSSI RIMOSSI RECORD? | NO | SÌ |
Nella maggior parte dei casi, la scelta del miglior tipo di operazione dipenderà dalle tue esigenze specifiche. Tuttavia, considera i seguenti punti:
Conclusione
Questo articolo discute due comandi fondamentali per rimuovere i dati in un database SQL. Utilizzando questa guida, è possibile specificare esplicitamente cosa fa il comando Truncate o il comando ELETE in un database relazionale. Speriamo che tu abbia trovato questo articolo utile. Controlla gli altri articoli di suggerimento Linux per ulteriori suggerimenti e tutorial.