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

作成したテーブルはあとから削除することができます。 DROP TABLE 文を使用します。ここでは MariaDB でテーブルを削除する方法について解説します。

(Last modified: )

テーブルを削除する

作成済みのテーブルを削除する方法です。 DROP TABLE 文を使います。書式は次の通りです。

DROP [TEMPORARY] TABLE [IF EXISTS] [/*COMMENT TO SAVE*/]
    tbl_name [, tbl_name] ...
    [WAIT n|NOWAIT]
    [RESTRICT | CASCADE]

この中で基本となる書式は次のとおりです。

DROP TABLE tbl_name [, tbl_name] ...

指定したテーブル名 tbl_name のテーブルを削除します。

では実際に試してみます。現在 mydb データベースには 2 つのテーブルが作成されています。

show tables;

テーブルを削除する(1)

この中の address テーブルを削除します。次のように実行してください。

drop table address;

テーブルを削除する(2)

address テーブルが削除されました。

確認のためにあらためて mydb データベースに作成されているテーブルの一覧を表示してみます。

テーブルを削除する(3)

address テーブルが削除されているのが確認できました。

存在しないテーブルを削除した場合

存在しないテーブルを削除しようとするとエラーが発生します。例えば先ほど削除した address テーブルを先ほどと同じようにもう一度削除してみます。

存在しないテーブルを削除した場合(1)

「Unknown table 'mydb.address'」というエラーが表示されました。

このように存在しないテーブルを削除しようとするとエラーが発生しますが、テーブルが存在しない場合は何もせずにテーブルが存在した場合だけ削除するには次の書式を使用してください。

DROP TABLE IF EXISTS tbl_name [, tbl_name] ...

それではこの書式を使って存在しない address テーブルを削除します。次のように実行してください。

drop table if exists address;

存在しないテーブルを削除した場合(2)

存在しないテーブルを削除した場合でもエラーとはなりませんでした。

なお 1 warning と表示されているようにエラーは出ていませんが警告は表示されています。下記のように実行することで警告の内容を確認できます。

show warnings;

存在しないテーブルを削除した場合(3)

警告の内容は IF EXISTS を付けずに存在しないテーブルを削除しようとしたときに表示されたエラーと同じ内容でした。

-- --

MariaDB でテーブルを削除する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。