この記事は2年以上前の投稿になります。
記載された情報が古くなっている可能性がございますので十分ご注意ください。
記載された情報が古くなっている可能性がございますので十分ご注意ください。
MySQLでは、複数のテーブルを指定して削除することはできても、テーブル名を指定しないで一括削除する命令はありません。
mysql コマンドを使って「show tables」で取得したテーブルの一覧から繰り返し「drop table」を発行する方法で実現することができます。
具体的には下記のようなコマンドで、特定のデータベース内のテーブルを一括削除することができます。
mysql --host=localhost --user=[ユーザー名] --password=[パスワード] [データベース名] --execute 'show tables' | while read table; do mysql --user=[ユーザー名] --password=[パスワード] [データベース名] --execute "drop table if exists $table"; done
※[ユーザー名][パスワード][データベース名]はそれぞれに置き換えてください。
このコマンドと同じ方式で「show databases」と「drop database」を使って、全データベースを削除することもできます。