Eliminare tutti i dati nella tabella sql

Come eliminare tutte le righe in MySQL

Potrebbero esserci momenti in cui è necessario eliminare tutti i record da una tabella MySQL. Ciò potrebbe essere dovuto a diversi motivi, ad esempio la necessità di ripulire i dati, la rimozione di record obsoleti o il ricominciare da capo. In questa guida imparerai come eliminare tutti i record utilizzando due istruzioni SQL: DELETE e TRUNCATE.

Differenze tra DELETE e TRUNCATE

È possibile eliminare tutti i record da una tabella utilizzando l'istruzione DELETE o TRUNCATE. L'istruzione DELETE rimuove le singole righe, registrando una voce per ogni riga eliminata nel log delle transazioni. D'altra parte, l'istruzione TRUNCATE è un metodo più rapido per svuotare una tabella. Funziona deallocando le pagine di dati utilizzate dalla tabella, cancellandola completamente in modo efficace.

Le istruzioni DELETE e TRUNCATE presentano diverse differenze:

  1. Prestazioni: TRUNCATE è più veloce di DELETE Perché non genera singole istruzioni di eliminazione di righe né registra ogni eliminazione di riga.
  2. Rollback: è possibile eseguire il rollback delle operazioni DELETE se si utilizzano le transazioni, mentre non è possibile eseguire il rollback delle operazioni TRUNCATE.
  3. Trigger: l'istruzione DELETE attiverà tutti i trigger ON DELETE associati alla tabella. L'affermazione TRUNCATE non lo farà.
  4. Recupero spazio: DELETE non libera lo spazio occupato dalla tabella. Al contrario, TRUNCATE recupera lo spazio utilizzato dal tavolo per un ulteriore utilizzo.

Nota: assicurati sempre di avere un backup recente dei tuoi dati prima di eseguire qualsiasi operazione di eliminazione. Questa salvaguardia potrebbe essere un vero toccasana se qualcosa va storto.

Svuotare la tabella con l'istruzione DELETE 1

. Apri il tuo client MySQL. 

2. Selezionare il database contenente la tabella da cui si desidera eliminare i record:

UTILIZZARE database_name;

Sostituire "database_name" con il nome del database pertinente.

3. Eliminare tutti i record dalla tabella utilizzando il comando DELETE:

DELETE FROM table_name;

Sostituire "table_name" con il nome della tabella pertinente. Se non riesci a ricordare il nome della tabella, fai riferimento alla nostra guida "Come elencare le tabelle in un database MySQL" (passaggio #2).

Svuotare la tabella con l'istruzione TRUNCATE 1

. Apri il tuo client MySQL.

numero arabo. Selezionare il database contenente la tabella da cui si desidera eliminare i record:

USE database_name;

Sostituire "database_name" con il nome del database pertinente.

3. Elimina tutti i record dalla tabella:

TRONCA TABELLA table_name;

Sostituire "table_name" con il nome della tabella pertinente. Se non riesci a ricordare il nome della tabella, fai riferimento alla nostra guida "Come elencare le tabelle in un MySQL Database" (passaggio #2).

Conclusione

Siete alla ricerca di una soluzione di database gestita? Scegli Gcore Managed Database for PostgreSQL in modo da poterti concentrare sul tuo core business mentre noi gestiamo il tuo database.

  • SLA del 99,9% per un servizio ininterrotto con architettura ad alta disponibilità
  • Risorse del database regolabili per esigenze mutevoli
  • Attualmente in versione beta pubblica gratuita

Inizia a gestire il tuo database