カテゴリ: PostgreSQL 更新日: 2026/01/07

PostgreSQLのDELETE文の基本と注意点

PostgreSQLのDELETE文の基本と注意点
PostgreSQLのDELETE文の基本と注意点

先生と生徒の会話形式で理解しよう

生徒

「PostgreSQLのDELETEって聞くと、全部消えてしまいそうで怖いです…」

先生

「DELETEは確かに注意が必要ですが、正しく使えば特定のデータだけを消せます。名簿から退会した人の行を線で消す作業だと思ってください。」

生徒

「パソコンをあまり触ったことがなくても理解できますか?」

先生

「大丈夫です。表を紙に書いたものとして考えながら、ゆっくり説明します。」

1. SQLとは何か?

1. SQLとは何か?
1. SQLとは何か?

SQLは、データベースと呼ばれる「情報を整理して保存する箱」に命令を出すための言葉です。PostgreSQLは、そのSQLを使って操作する代表的なデータベースです。

SQLを使うと、表の中のデータを見る、追加する、変更する、削除する、といった操作ができます。DELETE文は、その中でも「削除」を担当します。

2. DELETE文の役割

2. DELETE文の役割
2. DELETE文の役割

DELETE文は、データベースの表に入っているデータを削除するための命令です。

現実でたとえると、会員名簿の中で退会した人の行を消す作業です。紙の名簿なら消しゴムで消しますが、PostgreSQLではDELETE文を使います。

3. 今回使うテーブルを確認しよう

3. 今回使うテーブルを確認しよう
3. 今回使うテーブルを確認しよう

以下のusersテーブルを使って、DELETE文の基本を説明します。


id | name       | age | email
---+------------+-----+-------------------
1  | 山田太郎   | 25  | taro@example.com
2  | 佐藤花子   | 19  | hanako@example.com
3  | 鈴木一郎   | 30  | ichiro@example.com
4  | 高橋次郎   | 22  | jiro@example.com
5  | 伊藤美咲   | 28  | misaki@example.com

4. DELETE文の基本の形

4. DELETE文の基本の形
4. DELETE文の基本の形

DELETE文の基本的な書き方は次の形です。


DELETE FROM users
WHERE id = 4;

DELETE FROMは「どの表から消すか」、WHEREは「どの行を消すか」を指定します。ここでは、idが4の高橋次郎さんのデータだけを削除しています。


id | name       | age | email
---+------------+-----+-------------------
1  | 山田太郎   | 25  | taro@example.com
2  | 佐藤花子   | 19  | hanako@example.com
3  | 鈴木一郎   | 30  | ichiro@example.com
5  | 伊藤美咲   | 28  | misaki@example.com

5. 条件を指定して削除する

5. 条件を指定して削除する
5. 条件を指定して削除する

DELETE文では、WHEREを使って条件を指定することで、複数のデータをまとめて削除できます。

たとえば、年齢が20歳未満の人を削除したい場合は、次のように書きます。


DELETE FROM users
WHERE age < 20;

条件に合う行だけが削除されるため、必要なデータは残ります。

6. WHEREを書かないとどうなるか

6. WHEREを書かないとどうなるか
6. WHEREを書かないとどうなるか

DELETE文で最も危険なのが、WHEREを書かない場合です。

もし次のように書いてしまうと、表の中のデータがすべて削除されます。


DELETE FROM users;

これは名簿を丸ごとゴミ箱に捨てるような操作です。初心者のうちは、DELETE文には必ずWHEREを書く癖をつけることが大切です。

7. DELETEとTRUNCATEの違い

7. DELETEとTRUNCATEの違い
7. DELETEとTRUNCATEの違い

DELETEと似た言葉にTRUNCATEがあります。

DELETEは条件を指定して一部のデータを消せますが、TRUNCATEは表の中身を一瞬で全部消します。取り消しも難しいため、初心者はまずDELETEだけを覚えれば十分です。

8. DELETE文を安全に使う考え方

8. DELETE文を安全に使う考え方
8. DELETE文を安全に使う考え方

DELETE文を使う前に、まずSELECT文で「本当に消したいデータか」を確認するのがおすすめです。

たとえば、削除条件をSELECTで試して、表示された内容を見てからDELETEを実行すると安心です。

この手順を守ることで、間違って大切なデータを消すリスクを減らせます。

9. DELETE文を理解する意味

9. DELETE文を理解する意味
9. DELETE文を理解する意味

DELETE文は少し怖い印象がありますが、正しく使えばデータベースをきれいに保つために欠かせません。

不要になった情報を整理することで、データベースは見やすく、使いやすくなります。

まずは一行だけ削除するところから、慎重に慣れていきましょう。

カテゴリの一覧へ
新着記事
New1
PostgreSQL
PostgreSQLのLIMIT・OFFSETとパフォーマンス問題を完全解説|初心者でもわかる安全な使い方
New2
MySQL
MySQLのUPDATE文でデータを更新する基本を徹底解説|SQL初心者でもわかるデータベース更新入門
New3
PostgreSQL
PostgreSQLのOFFSET完全入門|並び替えと組み合わせてデータをスキップする方法を初心者向けに解説
New4
MySQL
MySQLで複数行INSERTを行う方法と注意点を徹底解説|SQL基礎から学ぶデータベース入門
人気記事
No.1
Java&Spring記事人気No1
PostgreSQL
PostgreSQLのDISTINCT完全ガイド|SQLで重複データを除外する方法を初心者向けに解説
No.2
Java&Spring記事人気No2
PostgreSQL
PostgreSQLの主キー・外部キーを完全解説!初心者でもわかる設定方法と考え方
No.3
Java&Spring記事人気No3
PostgreSQL
PostgreSQLのUPDATE文の使い方(部分更新・条件更新)
No.4
Java&Spring記事人気No4
PostgreSQL
PostgreSQLとは?初心者向けに特徴をわかりやすく解説
No.5
Java&Spring記事人気No5
PostgreSQL
PostgreSQLのLEFT JOIN完全入門!不足データを補いながらテーブル結合する仕組みをやさしく解説
No.6
Java&Spring記事人気No6
PostgreSQL
PostgreSQLスキーマ設計のベストプラクティス完全ガイド|初心者でもわかるデータベース整理術
No.7
Java&Spring記事人気No7
PostgreSQL
PostgreSQLスキーマ作成・削除完全ガイド!初心者でもわかるデータベース設計の基礎
No.8
Java&Spring記事人気No8
PostgreSQL
PostgreSQLのpublicスキーマの役割と扱い方