• ベストアンサー

すべてのテーブル削除

DELETE tbl1,tbl2,tbl3 FROM tbl1,tbl2,tbl3; DROP TABLE tbl1,tbl2,tbl3 FROM tbl1,tbl2,tbl3; 以外で簡単に複数あるテーブルを削除する方法ってありますでしょうか?

  • MySQL
  • 回答数2
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>すべてのテーブル削除 そもそもFROMはいらないでしょ・・・ DROP DATABASE hoge で親DBを削除してつくりなおすとかありそうですが ただ、テーブルの削除が頻繁に起こる運用というのは問題では? ごくたまにしかないならテーブル名を指定して削除するのが妥当

その他の回答 (1)

  • hogya
  • ベストアンサー率67% (49/73)
回答No.2

削除したものがロールバックできなくても構わないのであれば、「TRUNCATE TABLE table_name」で素早く消すことができます。 参考 http://mysql.deikou.com/pages/000067.html http://dev.mysql.com/doc/refman/5.1/ja/truncate.html

関連するQ&A

  • すべてのテーブルのすべてのレコードを削除する方法

    データベースを扱うプログラムに対してユニットテストを行いたいと思っています。 それぞれのテストが終了するごとにすべてのテーブル内のすべてのレコードを削除したいのですが、 delete from table_a; delete from table_b; delete from table_c; ... のように書くと、外部キー制約に引っかかってしまい削除できないことがあります。 短いSQL文で複数のテーブル内のレコードをすべて削除する方法はないのでしょうか? よろしくお願いします。 ちなみに、私が現在使っているDBMSはPostgreSQL 8.1です。

  • mysqlでのテーブル削除について質問します。

    総称名を使ってテーブルを削除することは可能でしょうか? drop table test060301; drop table test060302; drop table test060303; drop table test060304; ↓ drop table test*; このやり方では、うまくいきません。 よろしくお願いします。

    • ベストアンサー
    • MySQL
  • UNION ALLしたテーブルを個別に並べ変え

    table1、table2、table3というテーブルがあり このそれぞれをidというカラムで並び替えたものを結合するので考えました。 SELECT * FROM `table1` UNION ALL SELECT * FROM `table2` UNION ALL SELECT * FROM `table3` ORDER BY `id` にすると全てを結合したものを並び替えるので SELECT *, '1' AS tbl FROM `table1` UNION ALL SELECT *, '2' AS tbl FROM `table2` UNION ALL SELECT *, '3' AS tbl FROM `table3` ORDER BY `tbl`,`id` という風に書いてみました、結果としてはよさそうですが 方法としては間違ってないでしょうか? 他にいい方法があればアドバイスをお願いします。

  • 複数テーブルの一括削除

    複数のテーブルを一括して削除(DROP TABLE)したいのですが、 テーブル名を一つ一つ記述しないといけないのでしょうか? テーブル名の頭文字は全てTから始まります。 ご教示の程宜しくお願い致します。

  • 複数のテーブルの項目を同時に削除したい

    お世話になります、 Oracleで、delete文で困っています。 関係しあう二つのテーブルtab1,tab2があります。 二つのテーブルから同時に関係する項目を削除する 場合、同時に両方のテーブルの関係する項目を削除する場合どのような文になるのでしょうか、 delete from で複数のテーブルをしてすることはできないし、 delete from (select * from tab1,tab2)というような感じでデリートしても、片方のテーブルしかデリートされません。 よろしくお願いします。

  • 削除したテーブルを元に戻すことは出来ますか?

    SQL server 2005を使っています。 誤ってDrop table ~~を使って必要なテーブルを削除してしまいました。 まだデータの圧縮とかはしていないのですが、 一旦削除したテーブルを元に戻すことは可能でしょうか?

  • 重複レコードの削除

    あるテーブル(ここではTESTというテーブルとします)の重複レコードを削除したいので、以下のようなストアド・プロシージャを作成しました。 SELET DISTINCT * INTO TEST2 FROM TEST DELETE FROM TEST SELECT * INTO TEST FROM TEST2 DROP TABLE TEST2 開発終了後、システムの都合上、テーブルの追加はできないことが発覚し、TESTテーブル上で重複レコードを削除しなくてはならなくなりました。 カーソル等を利用すれば重複削除できると思いますが、ほかにシンプルな方法で重複レコードを削除する方法はありませんか?

  • テーブルが削除できない

    MySQL5でアクセスの「入金」という日本語名のテーブルをインポートしました。しかしMySQLではテーブル名がバグってしまい、MySQL Command Line Clientで以下のように削除しようとしても「Unknown table 蜈・驥・」と出て削除できません。削除したいテーブルが指定できず困っています。強制的に削除する方法はないでしょうか? set names sjis; use データベース名; drop tabe 入金;

  • インデックスの削除と、インデック名のつけ方について

    PostgreSQL8.2.24を使っています。 インデックスの削除と、インデック名のつけ方についてお聞きしたいです。 まず、削除ですが、create index tbl_fld_key on tbl (fld); としたものは、drop index tbl_fld_key;で削除できますが、 create tbl ( fld integer, unique key (fld) ); としたものは、drop index tbl_fld_keyで削除できません。 インデックス名は\diコマンドで表示されている tbk_fld_keyです。 メッセージは次のとおりです。 db =# drop index tbl_fld_key; ERROR: cannot drop index tbl_fld_key because constraint tbl_fld_key on table tbl requires it HINT: You may drop constraint tbl_fld_key on table tbl instead. あと、PostgreSQLのインデック名の規則について インデックス名を見ただけで判断できるように作られるようですが PRIMARY KEY テーブル名_フィールド名_pkey UNIQUE    テーブル名_フィールド名_key 重複可    テーブル名_フィールド名_??? <<--- この部分が知りたいです。

  • 別テーブルからSELECTした値を持つ行を削除するSQLは?

    削除 SQL がわかりません。 SQL-1 SELECT id FROM table2 WHERE date_in IS NULL; これで取得したidを持つレコード(別テーブル)を削除したいのですが、 どうすれば組み合わさるのでしょうか? DELETE FROM table1 WHERE id=???