Obiettivo: eliminare oppure svuotare tutte le tabelle di un database con un singolo commando da terminale
Questa soluzione è molto utile specialmente se si devono svuotare numerosi database. Abbiamo due possibilità:
1. Eliminare le tabelle (drop)
1 |
mysql -u USER -p'PASSWORD' -Nse 'show tables' DATABASE | while read table; do mysql -u USER -p'PASSWORD' -e \"drop table $table\" DATABASE; done |
2. Svuotare le tabelle senza eliminarle (truncate)
1 |
mysql -u USER -p'PASSWORD' -Nse 'show tables' DATABASE | while read table; do mysql -u USER -p'PASSWORD' -e \"truncate table $table\" DATABASE; done |
In entrambi i casi al posto di USER va messo l’utente del database, al posto di PASSWORD la password dell’utente sul database e al posto di DATABASE il nome del database sul quale vogliamo lavorare.