Den grundlæggende idé er at køre "vis tabeller" i din database, og bruge resultaterne derfra til at vælge de tabeller, du ønsker. Jeg tror ikke, at MySQL lader dig gøre noget med resultatsættet fra "vis tabeller", men jeg tager sikkert fejl.
Her er en hurtig og beskidt løsning ved hjælp af skallen:
mysql -u your_user -D your_database_name -e "show tables" -s |
egrep "^Whatever_" |
xargs -I "@@" echo mysql -u your_user -D your_database_name -e "DROP TABLE @@"
Det vil udskrive alle shell-kommandoer for at droppe tabellerne, der begynder med "Whatever_". Hvis du ønsker, at den rent faktisk skal udføre disse kommandoer, skal du fjerne ordet "ekko".
REDIGER :Jeg glemte at forklare ovenstående! Jeg ved ikke, hvor fortrolig du er med shell-scripting, men her kommer:
mysql -u your_user -D your_database_name -e "show tables" -s
udskriver en liste over alle dine tabeller med overskriften "Tables_in_your_database_name". Outputtet fra det sendes (symbolet | betyder "piped", som i givet videre) gennem den næste kommando:
egrep "^Whatever_"
søger efter alle linjer, der begynder (at ^ symboler betyder "væsener med") ordet "Whatever_" og udskriver kun dem. Til sidst sender vi listen over "Whatever_*"-tabeller gennem kommandoen:
xargs -I "@@" echo mysql -u your_user -D your_database_name -e "DROP TABLE @@"
som tager hver linje i listen over tabelnavne og indsætter den i stedet for "@@" i kommandoen
echo mysql -u your_user -D your_database_name -e "DROP TABLE @@"
Så hvis du havde en masse tabeller med navnet "Whatever_1", "Whatever_2", "Whatever_3", ville de genererede kommandoer være:
echo mysql -u your_user -D your_database_name -e "DROP TABLE Whatever_1"
echo mysql -u your_user -D your_database_name -e "DROP TABLE Whatever_2"
echo mysql -u your_user -D your_database_name -e "DROP TABLE Whatever_3"
Hvilket ville udsende følgende:
mysql -u your_user -D your_database_name -e "DROP TABLE Whatever_1"
mysql -u your_user -D your_database_name -e "DROP TABLE Whatever_2"
mysql -u your_user -D your_database_name -e "DROP TABLE Whatever_3"
Jeg håber, det var nok detaljer, og at jeg ikke bare slår nogen oven i hovedet med for meget information. Held og lykke, og vær forsigtig, når du bruger kommandoen "DROP TABLE"!