読者です 読者をやめる 読者になる 読者になる

約束の地

あの日あの時のキャロの想い出

MySQL でテーブルを一括削除する方法

Linux プログラミング

テーブルの一括削除

MySQL においてテーブルをDROP TABLEで削除する際にはワイルドカードを用いることができません。何とかしたいですね。

grepしてパイプでつなげる

以下のようにコマンドラインから投げてやれば、db_nameに存在する複数のテーブルを削除できます。下記ではテーブル名がfugafuga_*にマッチするものを削除しています。もちろんユーザ名はroot、そのパスワードはhogehogeということになります。

ユーザ名やパスワード、db_nameを2回書かなければいけないのがイケてないですが、そこはまぁ頑張ってください。

$ mysql -u root -phogehoge -e 'SHOW TABLES FROM db_name' | grep fugafuga_* | xargs -I "@@" mysql -u root -phogehoge -e "DROP TABLE db_name.\`@@\`"

応用すればデータベースの一括削除も

簡単なコマンドなので応用すれば様々な一括処理ができますね。

Powered by はてなブログ