【当ブログではアフィリエイト広告を利用しています】

[MySQL] コマンドを使ってデータベース内のテーブルを一括で削除する方法

attention この記事は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」を使って、全データベースを削除することもできます。

ご意見・ご感想をお待ちしております。

いただいた情報は一般公開されません。(入力いただいたメールアドレスにてご返信させていただきます)
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。