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

  • このエントリーをはてなブックマークに追加
  • Pocket

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

ご訪問ありがとうございます。
参考になりましたら『いいね!』もお願いします。

ITの活用情報を毎週お届けする無料メルマガに是非ご登録ください。

閉じる

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

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

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