- ベストアンサー
テーブル名で検索して削除
お世話になります。 MYSQLの操作を勉強しています。 同じような名前のテーブルを10個作って、 そのうちの指定文字列が含まれるテーブルのみを削除したいのですが、 どう書いたらよいか教えていただけないでしょうか。 例 1_hoge_table 2_ioge_table 3_joge_table 4_hoge_table 5_ioge_table 6_joge_table の時にhogeというテーブル名があるものだけ削除したいというものです。 LIKEでいろいろ検索を試したのですが、エラーになってしまいます。 どうぞよろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
やりたいことは分かるのですが、どういう方法でやろうとしていますか? テーブルの削除は、drop tableで行いますが、drop tableでは表名を条件で指定するといったことは行えません。私の知る限り、主要なRDBMSも、同様です。 もしそういったことをやろうとするなら、システムカタログから定義情報を得て、drop tableを文字列として組み立てて実行する方法になります。 MySQL 5.0以降なら、information_schemaが実装されているので、tables表を活用すればいいでしょう。
お礼
ありがとうございます。 drop tableしようとおもっていましたが、今回の条件でできないことがわかりましたありがとうございました。 information_schemaの部分を勉強して出直させていただきます。 ありがとうございました。