カテゴリ: データベース 更新日: 2026/02/16

PostgreSQL初心者ガイド!テーブル作成の基本手順とSQLの書き方を徹底解説

PostgreSQLでテーブルを作成する基本手順を初心者向けに整理
PostgreSQLでテーブルを作成する基本手順を初心者向けに整理

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

生徒

「データベースのPostgreSQL(ポストグレスキューエル)を使い始めたいのですが、最初に何を作ればいいんですか?」

先生

「まずはデータを整理して入れるための『テーブル』を作ることから始めましょう。Excel(エクセル)でいうところの『シート』を新しく作るようなイメージです。」

生徒

「テーブルを作るのって、プログラミングの知識がない私でもできますか?」

先生

「もちろんです。SQLという命令文を一度覚えれば、誰でも簡単に情報の入れ物を作ることができますよ。ルールを一つずつ丁寧に見ていきましょう。」

1. SQLとは何か?

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

SQL(エスキューエル)は、データベースと呼ばれる「大量のデータを整理して保存する箱」に対して指示を出すための言語です。例えば、お店の顧客名簿の中から特定の人を探したり、新しい注文情報を追加したりするときに使います。

PostgreSQL(ポストグレスキューエル)は、このSQLを使って操作するデータベース管理システムの一つです。世界中で使われている非常に安定したシステムで、無料で誰でも使い始めることができます。初心者の方がまず覚えるべきは、データを保存する形式を決める「テーブルの作成」です。

2. テーブルとは「整理整頓された表」のこと

2. テーブルとは「整理整頓された表」のこと
2. テーブルとは「整理整頓された表」のこと

データベースの中にデータを入れるとき、バラバラに放り込むわけではありません。必ず「テーブル」という表の形式にして保存します。このテーブルは、学校の出席簿やスーパーの在庫リストのようなものだと考えてください。

テーブルには「カラム(列)」と「レコード(行)」という概念があります。

  • カラム(列): 「名前」「年齢」「電話番号」といった、情報の項目のことです。
  • レコード(行): 実際に登録された一人ひとりのデータのことです。

例えば、これから「ユーザー情報を管理するテーブル」を作るとしましょう。その際、まずは「どんな項目(カラム)が必要か」をパソコンに教えてあげる必要があります。これがテーブル作成の第一歩です。

3. データの種類「データ型」を理解しよう

3. データの種類「データ型」を理解しよう
3. データの種類「データ型」を理解しよう

テーブルの項目(カラム)を決めるとき、もう一つ大事なことがあります。それは、その項目に「どんな種類のデータ」が入るのかをあらかじめ決めておくことです。これを「データ型」と呼びます。

なぜこれを決める必要があるのでしょうか?例えば、年齢を入れる場所に「こんにちは」という文字が入ってしまったら、後で計算ができなくて困りますよね。そういった間違いを防ぐために、あらかじめルールを決めておくのです。

データ型 説明 使い道の例
INTEGER(インテジャー) 整数(数字) 年齢、個数、ID番号
VARCHAR(バーキャラ) 文字(長さ制限あり) 名前、メールアドレス
TEXT(テキスト) 長い文章 お問い合わせ内容、備考
BOOLEAN(ブーリアン) はい/いいえ 会員かどうか、削除フラグ

4. 実際にテーブルを作ってみよう(CREATE TABLE)

4. 実際にテーブルを作ってみよう(CREATE TABLE)
4. 実際にテーブルを作ってみよう(CREATE TABLE)

それでは、PostgreSQLで実際にテーブルを作成する命令文を書いてみましょう。テーブルを作るには CREATE TABLE という命令を使います。

まずは、会員制サイトの「会員名簿(members)」テーブルを作ってみる例です。項目として「会員番号」「名前」「年齢」「メールアドレス」を用意します。


CREATE TABLE members (
    id INTEGER,
    name VARCHAR(100),
    age INTEGER,
    email VARCHAR(200)
);

この命令を出すと、まだ中身は空っぽですが、データの入れ物(枠組み)ができあがります。作成直後の状態は以下のようになります。


id | name | age | email
---+------+-----+------
(0 行)

次に、このテーブルにデータを追加してみましょう。データを追加するには INSERT INTO という命令を使います。ここでは4人分のデータを登録してみます。


INSERT INTO members (id, name, age, email) VALUES (1, '山田太郎', 25, 'taro@example.com');
INSERT INTO members (id, name, age, email) VALUES (2, '佐藤花子', 19, 'hanako@example.com');
INSERT INTO members (id, name, age, email) VALUES (3, '鈴木一郎', 30, 'ichiro@example.com');
INSERT INTO members (id, name, age, email) VALUES (4, '田中愛', 22, 'ai@example.com');

実行した後のテーブルの中身を確認すると、以下のようになります。


id | name     | age | email
---+----------+-----+-------------------
1  | 山田太郎 | 25  | taro@example.com
2  | 佐藤花子 | 19  | hanako@example.com
3  | 鈴木一郎 | 30  | ichiro@example.com
4  | 田中愛   | 22  | ai@example.com

5. 制約(ルール)を追加してより使いやすく

5. 制約(ルール)を追加してより使いやすく
5. 制約(ルール)を追加してより使いやすく

先ほどのテーブル作成では、最低限の項目だけを決めました。しかし、実際の運用では「名前は必ず入力してほしい」「会員番号が重なってはいけない」といった細かいルールが必要になります。これを「制約(せいやく)」と呼びます。

特によく使われるのが「PRIMARY KEY(主キー)」です。これは、そのデータが世界に一つだけであることを保証する印です。出席簿の「出席番号」のようなものですね。

今度は、商品の在庫を管理する「products」テーブルを、制約付きで作ってみましょう。


CREATE TABLE products (
    product_id INTEGER PRIMARY KEY, -- 重複を許さない主キー
    product_name VARCHAR(100) NOT NULL, -- 空っぽ(空欄)を許さない
    price INTEGER,
    stock_quantity INTEGER DEFAULT 0 -- 何も入力されないときは0にする
);

このテーブルにデータをいくつか入れてみます。


INSERT INTO products (product_id, product_name, price, stock_quantity) VALUES (101, 'ノートパソコン', 120000, 5);
INSERT INTO products (product_id, product_name, price, stock_quantity) VALUES (102, 'ワイヤレスマウス', 3500, 15);
INSERT INTO products (product_id, product_name, price, stock_quantity) VALUES (103, 'USBメモリ', 1500, 50);
INSERT INTO products (product_id, product_name, price, stock_quantity) VALUES (104, 'モニター', 25000, 8);
INSERT INTO products (product_id, product_name, price, stock_quantity) VALUES (105, 'キーボード', 7000, 12);

実行後のテーブルの状態です。


product_id | product_name     | price  | stock_quantity
-----------+------------------+--------+----------------
101        | ノートパソコン   | 120000 | 5
102        | ワイヤレスマウス | 3500   | 15
103        | USBメモリ        | 1500   | 50
104        | モニター         | 25000  | 8
105        | キーボード       | 7000   | 12

6. 作成したテーブルを確認・削除する方法

6. 作成したテーブルを確認・削除する方法
6. 作成したテーブルを確認・削除する方法

テーブルを作った後、「どんな項目で作ったっけ?」と確認したくなることがあります。PostgreSQLの操作画面(psqlなど)では、特別なコマンドを使って情報を呼び出すことができます。

また、もし間違えて作ってしまったり、もう使わなくなったりしたテーブルを消したいときは DROP TABLE という命令を使います。これは、机の上にある書類をシュレッダーにかけるようなものです。一度消すとデータもすべて消えてしまうので、とても慎重に行う必要があります。


-- テーブルの名前や設定を確認する(psqlの場合)
-- \d members

-- テーブルそのものを完全に削除する
DROP TABLE members;

削除する前の「members」テーブルにはデータが入っていましたが、この命令を実行した後は、箱ごとなくなってしまいます。


id | name     | age | email
---+----------+-----+-------------------
1  | 山田太郎 | 25  | taro@example.com
2  | 佐藤花子 | 19  | hanako@example.com
3  | 鈴木一郎 | 30  | ichiro@example.com
(削除を実行すると、これらのデータもすべて消去されます)

このように、PostgreSQLでは「箱を作る(CREATE)」「中身を入れる(INSERT)」「箱を捨てる(DROP)」という流れをSQLという言葉でコントロールしていきます。パソコンの操作に慣れていない方でも、英単語の意味を考えながら進めれば、決して難しいものではありません。

データベースをマスターするための第一歩は、まず自分の手で小さなテーブルを作成し、そこにデータが入る喜びを体験することです。今日学んだ基本の形を何度も練習して、データの扱い方に慣れていきましょう。

カテゴリの一覧へ
新着記事
New1
Ruby
Gemとは?RubyGemsとBundlerを初心者向けに完全解説!依存関係管理も図解でわかりやすく理解
New2
Ruby
Rubyの文字エンコーディング入門!UTF-8・マジックコメント・外部/内部エンコーディングを完全解説
New3
Rails
Rails GoodJob入門!PostgreSQLベースのバックグラウンド処理を初心者向けに完全解説
New4
Ruby
Rubyで学ぶビット演算入門:&・|・^・~・<<・>>の基礎と実例
人気記事
No.1
Java&Spring記事人気No1
Ruby
Rubyのreduceとinject入門!合計計算や集計を初心者向けに分かりやすく解説
No.2
Java&Spring記事人気No2
Ruby
Rubyの文字列エンコーディング完全ガイド!Encoding・force_encoding・encodeを初心者向け解説
No.3
Java&Spring記事人気No3
Ruby
Rubyの始め方ガイド:インストールから最初のHello Worldまで(Windows/Mac/Linux)
No.4
Java&Spring記事人気No4
データベース
PostgreSQLのWHERE句を徹底解説!初心者でもわかるSQLデータ抽出の基本
No.5
Java&Spring記事人気No5
Ruby
Rubyのfind/detect/find_indexを徹底解説!目的のデータを素早く探す方法
No.6
Java&Spring記事人気No6
Ruby
Rubyで比較演算子を完全解説!==・===・<=>・eql? の使い分け
No.7
Java&Spring記事人気No7
Ruby
Rubyのselect/reject/filterの使い方を完全解説!初心者向けの条件抽出レシピ
No.8
Java&Spring記事人気No8
データベース
PostgreSQLで順位付け!ROW_NUMBER関数の使い方を初心者向けに徹底解説