Eliminare tutte le tabelle in un Database MySQL: Difference between revisions

From RVM Wiki
Jump to navigation Jump to search
Created page with "First, disable foreign key check: echo "SET FOREIGN_KEY_CHECKS = 0;" > ./temp.sql Then dump the db with no data and drop all tables: mysqldump --add-drop-table --no-data..."
 
mNo edit summary
 
Line 1: Line 1:
=Oneliner=
Per cancellare tutte le tabelle di un database mysql di nome MYDATABASENAME (presuppone che le credenziali siano in ~/.my.cnf per mysql e mysqldump:
echo "SET FOREIGN_KEY_CHECKS = 0;" | (cat && mysqldump --add-drop-table --no-data MYDATABASENAME | grep 'DROP TABLE') | mysql MYDATABASENAME
=A Step=
First, disable foreign key check:
First, disable foreign key check:



Latest revision as of 14:14, 14 September 2021

Oneliner

Per cancellare tutte le tabelle di un database mysql di nome MYDATABASENAME (presuppone che le credenziali siano in ~/.my.cnf per mysql e mysqldump:

echo "SET FOREIGN_KEY_CHECKS = 0;" | (cat && mysqldump --add-drop-table --no-data MYDATABASENAME | grep 'DROP TABLE') | mysql MYDATABASENAME

A Step

First, disable foreign key check:

echo "SET FOREIGN_KEY_CHECKS = 0;" > ./temp.sql

Then dump the db with no data and drop all tables:

mysqldump --add-drop-table --no-data -u root -p db_name | grep 'DROP TABLE' >> ./temp.sql

Turn the foreign key check back on:

echo "SET FOREIGN_KEY_CHECKS = 1;" >> ./temp.sql

Now restore the db with the dump file:

mysql -u root -p db_name < ./temp.sql

Riferimenti