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

MySQL 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`を使うと、一時テーブルのみを対象に削除することができる。

コメント

タイトルとURLをコピーしました