はじめに
PostgreSQL を学び始めたばかりの方向けに、最初に覚えておくと便利な SQL 基本構文を実行例とともに整理しました。DBとは何ぞやってのは飛ばして、「クエリ」に絞って書いてます。
1. テーブルを作成する(CREATE TABLE)
CREATE TABLE users (
id SERIAL PRIMARY KEY,
name TEXT NOT NULL,
age INT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
2. データを挿入する(INSERT)
INSERT INTO users (name, age)
VALUES ('太郎', 25),
('花子', 30);
3. データを取得する(SELECT)
-- 全件取得
SELECT * FROM users;
-- 条件付き取得
SELECT id, name
FROM users
WHERE age >= 30
ORDER BY id DESC;
4. データを更新する(UPDATE)
UPDATE users
SET age = 30
WHERE id = 2;
WHERE句をしっかり指定してあげないと、全データ置き換わってしまうことがあるので注意!!!!(経験済み)
(バックアップがあったので耐えましたが、さすがに焦りました)
5. データを削除する(DELETE)
DELETE FROM users
WHERE id = 1;
UPDATEと同様こちらもWHERE句をしっかり指定してあげてください。
6. テーブルを結合する(JOIN)
まず orders
テーブルを用意します。
CREATE TABLE orders (
id SERIAL PRIMARY KEY,
user_id INT REFERENCES users(id),
total INT
);
結合例:
SELECT u.name, o.total
FROM users AS u
JOIN orders AS o ON o.user_id = u.id;
7. インデックスを作成する(CREATE INDEX)
CREATE INDEX idx_users_age ON users(age);
検索しやすいように索引を付けてあげるイメージです。
8. テーブル構造を確認する(\d コマンド)
psql コンソールで実行:
\d users
まとめ
-
CREATE TABLE
で基本構造と制約を定義する -
INSERT / SELECT / UPDATE / DELETE
が CRUD 基本操作である -
JOIN
で複数テーブルを連携させる -
INDEX
は検索性能向上に有効だが、過剰な作成は避ける
本記事の構文を実際に試すことで、PostgreSQL の基礎が確実に身に付きます。
次のステップとして ビュー・サブクエリ・ウィンドウ関数 を学ぶと、SQL の表現力がさらに広がりますよ~。