SQLのDELETE文は、表に存在する行を削除する。削除対象が複数ある場合は、それらのすべてを削除する。削除対象が無い場合は、何も削除せず、エラーにもならない。DELETE文はDMLの一種であり、コミットすることで削除が確定される。更新対象がロックされている場合は、ロックが解除されるまで待つ。

すべての行を削除するにはTRUNCATE TABLE文を使用することもできます。

構文

DELETE FROM [schema.]table [WHERE condition]
schema

削除対象となるテーブルが存在するスキーマを指定する。自分のスキーマが対象の場合は、スキーマの指定を省略できる。

table

削除対象となるテーブルを指定する。

condition

削除する行の条件を指定する。条件の指定を省略した場合は、すべての行が削除される。条件に当てはまる行が無かった場合は、何も削除されず、エラーにもならない。

SQL> delete from 従業員表 where 従業員番号 = '0001';

1行が削除されました。

SQL>
スポンサーリンク