[OracleDB] ”delete”文でデータ削除

OracleDatabaseのデータ削除SQL、「delete」文について紹介します。

delete」文は、「insert」、「update」と同様にDML(Data Manipulation Language )と呼ばれ、

データを操作するSQL文になります。

目次

基本構文:delete ~ from

delete文の基本構文は以下になります。

delete from <テーブル名> where <条件>;

下がサンプルのdelete文になります。

select *
from EMPLOYEE;

EMPNO NAME SALARY
------- --------------- ----------
00001 TARO TANAKA 300000
00002 HANAKO YAMADA 800000
00003 ICHIRO HANAKO 500000

delete from EMPLOYEE
where EMPNO = '00001';
commit;

select *
from EMPLOYEE;

EMPNO NAME SALARY
------- --------------- ----------
00002 HANAKO YAMADA 800000
00003 ICHIRO HANAKO 500000

表内の全データ削除

表内の全データ削除

delete文で全データを削除するのは以下になります。

delete from <表名>; 

条件を付けないことで全データを削除することができます。

ただしOracleDB上のデータが物理的に削除されたわけではありませんので、

HWM(ハイウォータマーク)を下げることが出来ない点に注意してください。

下がサンプルのdelete文になります。

select *
from EMPLOYEE;

EMPNO NAME SALARY
------- --------------- ----------
00001 TARO TANAKA 300000
00002 HANAKO YAMADA 800000
00003 ICHIRO HANAKO 500000

delete from EMPLOYEE;

--3行が削除されました。

commit;

--コミットが完了しました。

select *
from SUB_EMPLOYEE;

--レコードが選択されませんでした。

[改訂第4版]SQLポケットリファレンスposted with ヨメレバ

朝井 淳 技術評論社 2017-02-18

Amazonで探す

Kindleで探す

楽天ブックスで探す

楽天koboで探す

7netで探す

hontoで探す

e-honで探す

紀伊國屋書店で探す

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