プログラマ・システムエンジニアの方々は、作業中でワイルドカードでテーブルを削除場面があると思います。その時に下記の方法でテーブルを正規削除できます。
(残念ながら、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エンジニアを募集しています!
♪ 当記事がお役に立ちましたらシェアして頂ければ嬉しいです。
★ 当記事を閲覧の方は下記の【関連記事】も閲覧していました。
zanmai @2016年03月31日
» ①②③④の順で設定できるはず。…