PostgreSQLでデータを削除する【DELETE】

SQL

DELETE

テーブルに登録されているデータを削除するには、SQLコマンドの「DELETE」コマンドを使用します。
「DELETE」コマンドの基本的な構文は以下の通りです。

DELETE FROM テーブル名 [WHERE 条件]

「DELETE」は、指定したテーブル内のWHERE句の条件に合致した行を削除します。WHERE句を指定しなかった場合は、テーブル内の全ての行が削除されます。

DELETEの詳細については、公式ドキュメントを参照してください。

データを削除してみる

以下のようなデータの入った「testtbl」に対し、「DELETE」を試してみます。

delete サンプルデータ

条件を指定して削除する

WHERE句にて条件をつけてDELETEしてみます。
以下の例では「id」が「000002」の行を削除します。

DELETE FROM testtbl WHERE id = '000002' ;

実際に実行すると、対象の行が1行だけ削除されています。

DELETE 条件指定

WHERE句で指定した条件に合致する行が複数ある場合でも、対象の行が削除されます。
以下の例では「score」が「80」以下の行を削除します。

DELETE FROM testtbl WHERE score <= 80 ;

実行すると「score」が「80」と「75」の行が削除されています。

DELETE 条件指定(複数行)

条件を指定せずに削除する

それでは、条件を指定せずに削除してみます。

DELETE FROM testtbl ;

テーブルの全ての行が削除されます。

DELETE 条件指定なし(全行削除)

テーブル内の全データを削除するコマンドとして「TRUNCATE」コマンドがあります。「DELETE」と違い「TRUNCATE」ではテーブル内を走査せずデータを即削除するため、「DELETE」より高速にデータを削除します。大きなテーブルのデータをすべて削除する場合などは「TRUNCATE」コマンドの方が有用となります。

「DELETE」コマンドの使い方は以上です。

タイトルとURLをコピーしました