[OracleDB] テーブル削除のSQL「drop table」文とポイントを紹介

Oracle Databaseのテーブル削除**SQL**のポイントを紹介します。

Oracle Databaseのテーブル削除は「定義上は削除するがデータを残すか?」、 「データと定義をすべて削除するか?」と削除のパターンがいくつかあります。

この記事では初心者向けにテーブルを削除時の重要なポイントも合わせて紹介します。

この記事の内容

  • テーブルの削除SQLの基本構文を紹介
  • テーブルのデータと定義を完全に削除
  • テーブルの制約も含めて削除
目次

テーブルの削除SQL:drop table

まずはテーブル削除のSQL「drop table」を紹介したいと思います。

alter table文は、テーブル定義変更するコマンドになります。

テーブル後に変更ができないパラメータが多く存在するため作成SQLを間違えないようにしましょう

drop table <スキーマ名>.<テーブル名>; 

下がサンプルSQLになります。

drop table TEST001.TAB001;

テーブルのデータと定義を削除SQL:drop table ~ purge

テーブルのデータを完全に削除する際にはpurge」句を使用します。

「purge」句を使用しないとデータは「RECYCLEBIN」(Windowsのゴミ箱)に格納されます。

※ただしRECYCLEBIN がOFFの場合は、purge句を付けなくてデータは完全に削除されます。

drop table <スキーマ名>.<テーブル名> purge; 

下がサンプルSQLになります。

drop table TEST001.TAB001 purge; 

テーブルの制約も合わせて削除SQL:drop table ~ cascade constraint

制約も合わせて削除する場合は、cascade constraint」句を使用します。

特に外部キーが付与されているテーブルを削除する時には、「cascade constraint句がないと削除できません。

drop table <スキーマ名>.<テーブル名> cascade constraint; 

下がサンプルSQLになります。

drop table TEST001.TAB001 cascade constraint; 

テーブルの”データ”も”定義”も”制約”も削除SQL:drop table ~ cascade constraint purge

テーブルの「データ」も「定義」も「制約」も削除すべて削除する場合には、cascade constraint」句と「purge」句を合わせて使用します。

drop table <スキーマ名>.<テーブル名> cascade constraint purge;

下がサンプルSQLになります。

drop table TEST001.TAB001 cascade constraint purge; 

参考:しばちょう先生の試して納得!DBAへの道 第2回 表と表領域の関係

よかったらシェアしてね!
  • URLをコピーしました!
目次