MySQL でテーブルの削除 (DROP TABLE)

ここでは MySQL でテーブルを削除する方法をご説明します。

DROP TABLE でテーブルを削除する

MySQL でテーブルを作成するには DROP TABLE 文を使います。

基本の DROP TABLE 文の構文は次の通りです。

DROP TABLE テーブル名;

テーブル名をカンマで続けて、複数のテーブルを同時に削除することもできます。


例えば、test_db データベースに test という名前のテーブルがあります。

MySQL でテーブルの削除 (DROP TABLE) 1


この test テーブルを削除するには、test_db を選択して、次のクエリーを実行します。

DROP TABLE test;

上のクエリーを実行すると、MySQL Workbench の Schemas タブ の Tables から test テーブルが削除されました。

MySQL でテーブルの削除 (DROP TABLE) 2


今回は単独のひとつのテーブルを削除しましたが、親子関係のある複数のテーブルを削除する時は、子供にあたるテーブルから先に削除してください。


DROP TABLE IF EXISTS でテーブルが存在すれば削除する

先ほどの DROP TABLE クエリーをもう一度実行すると、削除しようとするテーブルが存在しないため、以下のように「Error Code: 1051. Unknown table 'test_db.test'」というエラーになります。

MySQL でテーブルの削除 (DROP TABLE) 3


次のように DROP TABLE に続けて IF EXISTS を指定することで、テーブルが存在する時のみ削除し、存在しなくてもエラーにならないようにすることができます。

DROP TABLE IF EXISTS テーブル名;

削除しようとするテーブルが存在しなかった場合は Warning が生成されます。


もう一度 test テーブルを作って、次のクエリーを二回実行してみます。

DROP TABLE IF EXISTS test;

一回目の実行で test テーブルが削除され、二回目の実行時にはエラーにならず、警告が出ていますね。

MySQL でテーブルの削除 (DROP TABLE) 4


以上、MySQL でテーブルを削除する方法をご説明しました。

© 2024 MySQL 入門