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

MySQL

MySQLでテーブルを削除する方法について書いています。 テーブルを削除するときには、DROP TABLEを使うと良いです。

MySQLのバージョン8.0.32で、動作を検証しています。

テーブルを削除するには?

MySQLでテーブルを作成するには、DROP TABLE文を使います。 USEを使って、テーブルを作成したいデータベースを選択した後に実行してください。

DROP TABLE文の後に、テーブル名を指定します。

DROP TABLE messages;

今回はmessagesテーブルを削除します。 実行するとmessagesテーブルが削除されます。

存在しないテーブルを削除すると?

存在しないテーブルを削除しようとすると、ERROR 1051 (42S02)エラーが発生します。 例えば、testデータベースの存在しないhogeテーブルを削除しようとします。

DROP TABLE hoge;

そうすると、下記のようにERROR 1051 (42S02)エラーが発生します。

ERROR 1051 (42S02): Unknown table 'test.hoge'

存在するときだけ削除を実行する

先ほどは存在しないテーブルを削除しようとしてエラーが発生しました。 存在するときにだけテーブルを削除して、存在しないときには無視するようにするにはIF EXISTSを使います。

例えば、下記のように使います。

DROP TABLE IF EXISTS hoge;

このようにIF EXISTSを使うと、テーブルが存在するときには削除されます。 テーブルが存在しないときには、エラーにならずに実行されます。

一時テーブルを削除する

一時テーブルを削除するときには、TEMPORARYキーワードをつけておくと良いです。 こうすると、一時(TEMPORARY)テーブルではない場合には削除されません。

DROP TEMPORARY TABLE fuga;

今回は、一時テーブルのfugaテーブルを削除しています。

テーブルを削除する方法のまとめ

今回はMySQLでテーブルを削除する方法について書きました。 記事の内容をまとめると、下記のようになります。

・テーブルを削除するときには`DROP TABLE`を使う。 ・削除しようとするテーブルが存在しないときにはエラーになる。 ・`IF EXISTS`を使うと、存在しないときにはエラーにならず、存在するときにのみ削除される。 ・`TEMPORARY`を使うと、一時テーブルのみを対象に削除することができる。

コメント