DROP USER

DROP USER はデータベースのユーザーを削除する SQL 文である。DML であるため、ロールバックすることはできない。

Oracle

Oracle Database における DROP USER 文の構文を以下に示す。

DROP USER user [CASCADE]
user
削除するユーザの名前を指定する。ユーザは非スキーマオブジェクトなので、スキーマ名で修飾しない。
SQL> DROP USER tsuka;
CASCADE
削除しようとするユーザーがオブジェクトを所有しているときは、そのユーザーを削除することはできない。ただし、CASCADE 句を指定すると、オブジェクトを所有しているユーザーも削除することができる。
SQL> DROP USER tsuka CASCADE;

通常、ユーザは多数のデータベースオブジェクトを所有しているので、CASCADEオプションを付けるとたくさんのオブジェクトを削除することになる。そのため、実行速度は遅くなる。

権限

ユーザーを削除するには、DROP USER システム権限が必要です。

MySQL

MySQL における DROP USER 文の構文を以下に示す。

DROP USER [IF EXISTS] user [, user] ...
IF EXISTS
存在しないユーザを削除しようとすると、エラーが発生する。IF EXISTS 句を指定すると、ユーザが存在しない場合は、エラーではなく警告が発生する。
user
削除するユーザを指定する。カンマで区切って、複数のユーザを指定できる。

PostgreSQL

PostgreSQL における DROP USER 文の構文を以下に示す。

DROP USER user
user
削除するユーザを指定する。

SQL Server

SQL Server における DROP USER 文の構文を以下に示す。

DROP USER [IF EXISTS] user
IF EXISTS
存在しないユーザを削除しようとすると、エラーが発生する。IF EXISTS 句を指定すると、ユーザが存在しない場合でもエラーが発生しない。
user
削除するユーザを指定する。

関連SQL

参考文献

Oracle (2023) DROP USER ステートメント MySQL 8.0 リファレンスマニュアル

PostgreSQL グローバル開発グループ (2025) DROP USER PostgreSQL 8.0.4 文書