MySQL TRUNCATE TABLE

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

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.