Sommario: in questo tutorial, imparerai come usare l’istruzione MySQL TRUNCATE TABLE
per cancellare tutti i dati in una tabella.
Introduzione all’istruzione MySQL TRUNCATE TABLE
L’istruzione MySQL TRUNCATE TABLE
ti permette di cancellare tutti i dati in una tabella.
Logicamente, l’istruzione TRUNCATE TABLE
è come un’istruzione DELETE
senza clausola WHERE
che cancella tutte le righe da una tabella, o una sequenza di istruzioni DROP TABLE
e CREATE TABLE
.
Tuttavia, l’istruzione TRUNCATE TABLE
è più efficiente dell’istruzione DELETE
perché elimina e ricrea la tabella invece di cancellare le righe una per una.
Qui c’è la sintassi di base dell’istruzioneTRUNCATE TABLE
:
Code language: SQL (Structured Query Language) (sql)
In questa sintassi, specifichi il nome della tabella che vuoi rimuovere tutti i dati dopo le parole chiave TRUNCATE TABLE
.
La parola chiave TABLE
è opzionale. Tuttavia, è una buona pratica usare la parola chiave TABLE
per distinguere tra l’istruzione TRUNCATE TABLE
e la funzione TRUNCATE()
.
Se c’è qualche vincolo FOREIGN KEY
da altre tabelle che fanno riferimento alla tabella che troncate, l’istruzione TRUNCATE TABLE
fallirà.
Perché un’operazione di troncamento causa un commit implicito, quindi non può essere riportato indietro.
L’istruzione TRUNCATE TABLE
ripristina il valore nella colonna AUTO_INCREMENT al suo valore iniziale se la tabella ha una colonna AUTO_INCREMENT
.
L’istruzione TRUNCATE TABLE
non attiva i trigger DELETE
associati alla tabella che viene troncata.
A differenza di un’istruzione DELETE
, il numero di righe interessate dall’istruzione TRUNCATE TABLE
è 0, che dovrebbe essere interpretato come nessuna informazione.
Esempio MySQL TRUNCATE TABLE
Facciamo un esempio di utilizzo dell’istruzione TRUNCATE TABLE
.
Prima, create una nuova tabella chiamata books
per la dimostrazione:
Code language: SQL (Structured Query Language) (sql)
Poi, inserite dei dati fittizi nella tabella books
usando la seguente stored procedure:
Code language: SQL (Structured Query Language) (sql)
Poi, caricate 10.000 righe nella tabella books
. Ci vorrà un po’ di tempo.
Code language: SQL (Structured Query Language) (sql)
Dopodiché, controlla i dati nella tabella books
:
Code language: SQL (Structured Query Language) (sql)
Infine, usa l’istruzione TRUNCATE TABLE
per cancellare tutte le righe dalla tabella books
:
Code language: SQL (Structured Query Language) (sql)
Nota che puoi confrontare le prestazioni tra l’istruzione TRUNCATE TABLE
e la DELETE
.
In questo tutorial, hai imparato come usare l’istruzione TRUNCATE TABLE
di MySQL per cancellare tutti i dati da una tabella in modo efficiente, specialmente per una tabella grande.
- Questo tutorial è stato utile?
- SìNo