web-dev-qa-db-ja.com

mysqlで複数のテーブルをワンショットで削除する

1つのコマンドで1つのデータベースから複数のテーブルを削除する方法。何かのようなもの、

> use test; 
> drop table a,b,c;

ここで、a、b、cはデータベースtestのテーブルです。

92
Krunal

例:

テーブルAに2つの子BとCがあるとします。その後、次の構文を使用してすべてのテーブルを削除できます。

DROP TABLE IF EXISTS B,C,A;

これは、各テーブルを個別に削除する代わりに、スクリプトの先頭に配置できます。

117
SET foreign_key_checks = 0;
DROP TABLE IF EXISTS a,b,c;
SET foreign_key_checks = 1;

そうすれば、正しい順序でドロップしたり、実際に存在するかどうかを心配する必要はありません。

N.B.これは(質問のように)MySQL専用です。他のデータベースでは、これを行うための方法が異なる可能性があります。

68
OrangeDog