テーブルを作成しよう

目次
  • 解説
  • 1. 型
  • 2. テーブルの作成
  • 3. テーブルの削除
  • 4. テーブルを作成してみよう
  • 5. テーブルの構成を確認するには
進捗を変更する




解説

1. 型


型(かた)とは

テーブルを作成するには、カラム(テーブルの列)ごとに「どのようなデータを登録することができるか」を決める、データの種類を指定する必要があります。データの種類のことを、といいます。

カラムを指定することで、カラムふさわしくない値が混入するのを防ぐことができます。

※ふさわしくない値の例)商品価格が登録されるべき列に、商品名を登録してしまった… など

型の種類

カラムに指定することができるは、様々な種類があります。下表に代表的なをまとめておくので、確認しましょう。

代表的な型

表すデータ型名データの例
テキストtext'あいうえお'
整数integer123
小数numeric3.14
日時timestamp'2021-04-08 00:00:00'
論理値booleanTRUE もしくは FALSE

2. テーブルの作成


データベースにテーブルを作成するには、「CREATE TABLE」に続けてテーブル名を記述し、カラム名を列挙します。

構文:テーブルを作成する
CREATE TABLE テーブル名 (カラム名1 型1, カラム名2 型2, ...);

例)「menus」テーブルの作成

CREATE TABLE menus (
    name text,
    price integer,
    category text,
    created_at timestamp
);
実行結果

「menus」テーブルのイメージ


順を追ってテーブルの作成方法を見ていきましょう。

作成するテーブル名を記述する

まずは「CREATE TABLE」に続けて、新しく作成するテーブル名を記述します。

CREATE TABLE menus

丸かっこ内にカラム名と型を記述する

次に、テーブル名に続けて「()(丸かっこ)」を記述し、丸かっこ内にカラム名を記述します。

CREATE TABLE menus (name text);

複数のカラムはカンマで列挙する

複数のカラムを作成する場合は、「,(カンマ)」で区切り、列挙します。

CREATE TABLE menus (name text, price integer, category text, created_at timestamp);

コードの見やすさに応じて改行、字下げする

クエリには改行やタブを含めることができます。クエリを一行で記述することもできますが、適切に改行字下げすることで、視認性が向上します。

CREATE TABLE menus (
    name text,
    price integer,
    category text,
    created_at timestamp
);

3. テーブルの削除


テーブルを削除するには、「DROP TABLE」に続けてテーブル名を記述します。

構文:テーブルを削除する
DROP TABLE テーブル名;

例)「menus」テーブルの削除

DROP TABLE menus;
Tips
テーブルが存在する場合のみ削除する

テーブルの削除を実行する際、存在しないテーブル名を指定するとエラーとなります。
また、テーブルの作成を実行する際、すでに存在するテーブル名を指定するとエラーとなります。

エラーを回避するには、「DROP TABLE IF EXISTS テーブル名」とします。「IF EXISTS」を記述することで、「もしテーブルが存在すれば、削除する」という命令になります。

構文:テーブルが存在する場合のみ削除する
DROP TABLE IF EXISTS テーブル名;

例)テーブル作成時の重複エラー対策

DROP TABLE IF EXISTS menus;
CREATE TABLE menus (
    name text,
    price integer,
    category text,
    created_at timestamp
);

※テーブルを新規作成する前に、同名のテーブルが存在している場合は削除を実行することで、テーブル作成時の重複エラーを回避することができます。

4. テーブルを作成してみよう


データベースを作成しよう』で作成した「lesson」データベースに、新しくテーブルを作成しましょう。

操作するデータベースのクエリツールを開く

データベースの操作は、操作の対象となるデータベースのクエリツールで行います。

データベースを作成しよう』では、「postgres」データベースを対象としたクエリツールで操作をおこないました。前回開いたクエリツールが残っている場合はいったん閉じ、新たに「lesson」データベースのクエリツールを開きます。

手順1

(1)画面上部のタブから「postgres/digskill@local」を右クリックし、「Remove Panel」をクリックしてください。クエリエディタの内容を保存するかの確認ウインドウは「保存しない」を選択して構いません。
※「postgres/digskill@local」タブが表示されていない場合は、そのまま手順1 (2)に進んでください。
(2)サイドメニューの「データベース」一覧から「lesson」を右クリックし、「クエリツール」を選択してください。画面中央に「lesson」データベースを対象としたクエリツールが開きます。

※クエリツール画面は利用する機会が多いので、表示の仕方に慣れておきましょう!

テーブルを作成する

データベースにテーブルを作成するには、「CREATE TABLE」を使います。

今回はカフェサイトの商品データを管理するテーブルとして、「menus」という名前のテーブルを作成します。下図の構成表をもとに、「menus」テーブルを作成していきましょう。

「menus」テーブル(構成)

カラム名説明
nametext(テキスト)商品名
priceinteger(整数)価格
categorytext(テキスト)カテゴリー
created_attimestamp(日時)データ登録日時

手順2

(1)クエリエディタに、下記の「menus」テーブルを作成するクエリを入力し、実行してください。
※クエリの実行は画面上部のツールバーから、実行ボタンをクリックします。
CREATE TABLE menus (
    name text,
    price integer,
    category text,
    created_at timestamp
);
(2)画面下側の「メッセージ」ウインドウから、手順の操作が成功していることを確認してください。
(3)サイドメニューの「データベース」一覧から「lesson」を右クリックし、「再読み込み...」をクリックしてください。
(4)サイドメニューの「lesson」を展開し、「スキーマ」>「public」>「テーブル」を展開してください。
(5)テーブル」内に、作成した「menus」テーブルが表示されていることを確認してください。
※「menus」が表示されない場合は、手順2 (3)からやり直してください。

サイドメニューの「テーブル」では、作成したテーブルの一覧を確認することができます。

pgAdminの操作に慣れないうちは、サイドメニューに表示されるいろいろな項目に戸惑うと思いますが、基本は下記の2点をおさえておけば大丈夫です。

データベース」内にデータベース一覧が表示される
スキーマ」>「public」>「テーブル」内にテーブル一覧が表示される

5. テーブルの構成を確認するには


上の手順で作成した「menus」テーブルの構成を確認してみましょう。

テーブルの構成を確認するには、サイドメニューの「テーブル」一覧から対象となるテーブルを右クリックし、「プロパティ...」を選択します。

プロパティ画面の「」タブではテーブルカラム名などを確認・編集することができます。

現時点ではまだ学習していない項目も多いですが、「プロパティ...」からテーブルの詳細を確認できることを覚えておきましょう。