PostgreSQLのINSERT文の基本と応用
生徒
「PostgreSQLでINSERTって書いてあるのを見たんですが、何をする命令なんですか?」
先生
「INSERTは、データベースの表に新しいデータを追加するための命令です。名簿に新しい人を書き足すイメージですね。」
生徒
「パソコン操作が苦手で、文字を入力するだけでも不安なんですが…」
先生
「大丈夫です。紙の名簿にペンで書き込む感覚で、一つずつ確認しながら説明します。」
1. SQLとは何か?
SQLは、データベースという「情報を整理してしまっておく箱」に指示を出すための言葉です。PostgreSQLは、このSQLを使って操作できる代表的なデータベースです。
データベースは、たくさんの情報を表の形で保存します。SQLは、その表に対して「見る」「追加する」「直す」「消す」といったお願いをするために使われます。
2. INSERT文の役割
INSERT文は、データベースの表に新しい行を追加するための命令です。
現実世界で例えると、クラス名簿に新しく転校生が来たとき、その人の名前や年齢を書く作業にあたります。
PostgreSQLのINSERT文を覚えることで、データを保存できるようになり、データベースが役立つ存在になります。
3. 今回使うテーブルを確認しよう
次のようなusersテーブルがあるとします。これは会員情報を保存する表です。
id | name | age | email
---+------------+-----+-------------------
1 | 山田太郎 | 25 | taro@example.com
2 | 佐藤花子 | 19 | hanako@example.com
3 | 鈴木一郎 | 30 | ichiro@example.com
4. 基本的なINSERT文の書き方
新しい人を一人追加する基本の形が、INSERT文です。
INSERT INTO users (id, name, age, email)
VALUES (4, '高橋次郎', 22, 'jiro@example.com');
「INSERT INTO」は「この表に追加します」という意味です。VALUESは「追加する中身」を表します。
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. 列を指定して追加する理由
INSERT文では、どの列にどの値を入れるのかを明確にすることが大切です。
列名を書くことで、順番を間違えても正しくデータが入ります。初心者のうちは、必ず列名を書く習慣をつけましょう。
6. 一部の列だけを追加する
場合によっては、すべての情報が揃っていないこともあります。そのときは、必要な列だけ指定できます。
INSERT INTO users (id, name)
VALUES (5, '中村三郎');
指定していない列には、空の値が入ります。これも名簿で「後から書く」イメージです。
7. 複数のデータをまとめて追加する
INSERT文では、複数の行を一度に追加することもできます。
INSERT INTO users (id, name, age, email)
VALUES
(6, '伊藤花', 28, 'hana@example.com'),
(7, '小林健', 35, 'ken@example.com');
まとめて追加すると、作業時間を短くできます。大量のデータを扱うときに便利です。
8. INSERT文でよくある失敗
初心者がよくつまずくのが、文字を囲むクォーテーションの付け忘れです。
文字はシングルクォートで囲み、数字はそのまま書く、というルールを覚えておくと安心です。
9. INSERT文を学ぶ意味
INSERT文は、データベースに情報を保存するための入口です。
正しく追加できるようになると、PostgreSQLを使って「記録する」「残す」作業ができるようになります。
まずは少ないデータを、確実に追加することから慣れていきましょう。