データベースを削除する(DROP DATABASE文)

作成したデータベースはあとから削除することができます。ここでは MariaDB で DROP DATABASE 文を使いデータベースを削除する方法について解説します。

(Last modified: )

データベースを削除する

データベースを削除するには DROP DATABASE 文を使います。書式は次の通りです。

DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

指定した名前のデータベースを削除します。

実際にデータベースを削除してみます。削除する前に作成済のデータベースの一覧を確認します。

show databases;

データベースを削除する(1)

現在 6 つのデータベースが存在しています。それではこの中の自分で作成した mydb データベースを削除します。次のように実行してください。

drop database mydb;

データベースを削除する(2)

データベースが削除されました。確認のために再度データベースの一覧を取得してみます。

データベースを削除する(3)

mydb データベースが削除されていることが確認できます。

存在しないデータベースを削除した場合

存在しないデータベースを削除しようとするとエラーが発生します。実際に先ほど削除した mydb を先ほどと同じように削除してみます。

drop database mydb;

存在しないデータベースを削除した場合(1)

「Can't drop database 'mydb'; database doesn't exist」というエラーが発生しました。

データベースを削除する時に、対象のデータベースが存在していない場合はデータベースの削除を行わないようにするには次の書式を使用してください。

DROP DATABASE IF EXISTS db_name

対象のデータベースが存在していれば削除しますが、存在していなければ何もしません。

それでは実際に試してみます。存在していない mydb データベースに対して次のように実行してください。

drop database if exists mydb;

存在しないデータベースを削除した場合(1)

存在していないデータベース名を指定した場合でもエラーとはなりませんでした。

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

show warnings;

存在しないデータベースを削除した場合(2)

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

-- --

MariaDB で DROP DATABASE 文を使いデータベースを削除する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

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