ホーム » ブログ » MySQLでワイルドカード条件でテーブル削除
このエントリーをはてなブックマークに追加
@2017/04/26

スポンサーリンク
プログラマ・システムエンジニアの方々は、作業中でワイルドカードでテーブルを削除場面があると思います。その時に下記の方法でテーブルを正規削除できます。
(残念ながら、drop tableコマンドでテーブル正規で一括削除方法がありません。なお、2ステップで削除方法が何とか書けます)

■1、DBテーマ内のワイルドカード条件ですべてのテーブルを取り出し(カンマ「,」区切る)

SELECT 
  GROUP_CONCAT( a.TABLE_NAME ) #テーブル名をカンマで区切る
FROM 
  (
    SELECT TABLE_NAME #全てのテーブル名
    FROM information_schema.TABLES
    WHERE TABLE_SCHEMA = 'your_thema_naname' #テーブルのテーマ
      AND TABLE_NAME LIKE  'fc_%' #ワイルドカード条件fc_を含むテーブル
  ) a

#SHOW TABLES WHERE tables_in_yourthemaname LIKE \'fc_%\'のようなsqlもテーブル一覧取得できる。

■テーブルを削除
※1で取り出したテーブルリストをdrop tableの後ろに貼り付けて、SQLを実行

DROP TABLE tableList #ここのtableListは1で取り出したテーブルリストです。
tableList中でのテーブルがない場合、削除エラー発生するかもしれない,
その時はDROP TABLE IF EXISTS tbl_name [, tbl_name] ...のように書いたらエラーを解消する

以上で、MySQLでワイルドカードのテーブルを削除できるようになりました。

WEBエンジニアを募集しています!

♪ 当記事がお役に立ちましたらシェアして頂ければ嬉しいです。
0人
このエントリーをはてなブックマークに追加


★ 当記事を閲覧の方は下記の【関連記事】も閲覧していました。

お名前:

 

EMAIL:

 

URL:

 

認証コード:

zanmai.net-safecode

 


※会員の方は認証コードを要らないから、新規登録をオススメ!

check