テーブルを作成しよう
- 解説
- 1. 型
- 2. テーブルの作成
- 3. テーブルの削除
- 4. テーブルを作成してみよう
- 5. テーブルの構成を確認するには
解説
1. 型
型(かた)とは
テーブルを作成するには、カラム(テーブルの列)ごとに「どのようなデータを登録することができるか」を決める、データの種類を指定する必要があります。データの種類のことを、型といいます。
カラムに型を指定することで、カラムにふさわしくない値が混入するのを防ぐことができます。
※ふさわしくない値の例)商品価格が登録されるべき列に、商品名を登録してしまった… など
型の種類
カラムに指定することができる型は、様々な種類があります。下表に代表的な型をまとめておくので、確認しましょう。
代表的な型
表すデータ | 型名 | データの例 |
---|---|---|
テキスト | text | 'あいうえお' |
整数 | integer | 123 |
小数 | numeric | 3.14 |
日時 | timestamp | '2021-04-08 00:00:00' |
論理値 | boolean | TRUE もしくは FALSE |
2. テーブルの作成
データベースにテーブルを作成するには、「CREATE TABLE」に続けてテーブル名を記述し、カラム名と型を列挙します。
構文:テーブルを作成する
CREATE TABLE テーブル名 (カラム名1 型1, カラム名2 型2, ...);
例)「menus」テーブルの作成
CREATE TABLE menus (
name text,
price integer,
category text,
created_at timestamp
);
順を追ってテーブルの作成方法を見ていきましょう。
作成するテーブル名を記述する
まずは「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;
テーブルの削除を実行する際、存在しないテーブル名を指定するとエラーとなります。
また、テーブルの作成を実行する際、すでに存在するテーブル名を指定するとエラーとなります。
エラーを回避するには、「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」テーブル(構成)
カラム名 | 型 | 説明 |
---|---|---|
name | text(テキスト) | 商品名 |
price | integer(整数) | 価格 |
category | text(テキスト) | カテゴリー |
created_at | timestamp(日時) | データ登録日時 |
手順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」テーブルの構成を確認してみましょう。
テーブルの構成を確認するには、サイドメニューの「テーブル」一覧から対象となるテーブルを右クリックし、「プロパティ...」を選択します。
プロパティ画面の「列」タブではテーブルのカラム名や型などを確認・編集することができます。
現時点ではまだ学習していない項目も多いですが、「プロパティ...」からテーブルの詳細を確認できることを覚えておきましょう。