0371.Blog

SQLのお勉強 2.テーブルを作成する

2020-09-09

こんにちは、0371です。

今回は、SQLのお勉強をしたいと思います。
基本情報技術者試験で出題される範囲を中心に進めます。

お勉強

※ PostgreSQLはインストール済みかつ、パスも通しているという前提で進めていきます。

分からないという方は、以下の記事から始めてください。

dockerを使って、再構築が容易なSQLの練習場を作成する
"https://0371.blog/docker-sql"

前回の記事はこちら

SQLのお勉強 1.データベースを作成する "https://0371.blog/sql-1"

テーブルの作成

まずは、psqlコマンドで、PostgreSQLに接続します。

psql -U admin -d shop

// -dオプションで、データベースの指定ができるようになる

次に、shopデータベースにShohinテーブルを作成します。
テーブルの作成には、以下の構文を使用します。

create table テーブル名();

以下のcreate文をコピーし、貼り付けて実行してください。

create table Shohin(
  shohin_id char(4) not null,
  shohin_mei varchar(100) not null,
  shohin_bunrui varchar(32) not null,
  hanbai_tanka integer,
  shiire_tanka integer,
  torokubi date,
  primary key (shohin_id)
);

()の中で、テーブルの定義を行っています。 これがテーブルの作成です。

今回のテーブルの仕様について

一行ずつ仕様を見ていきたいと思います。

create table Shohin( では、Shohinという名前のテーブルを作ることを宣言しています。

shohin_id char(4) not null, では、shohin_idという項目(カラム)を、4文字で、必ずデータを入れる仕様で作成しています。

行末に、,を入れることで、複数のカラムを作成できるようにしています。
char()は固定長文字列のデータ型です。
11***というように、文字数が最大長になるまで、空きを半角スペースで埋めるのが特徴です。
not nullは、必ずデータが入っていなければならないという制約を課すための記述です。
何かしらのデータを入れないとエラーになります。

shohin_mei varchar(100) not null,では、shohin_meiという項目(カラム)を、100文字以内の可変長な文字列で、必ずデータを入れる仕様で作成しています。

varchar()は可変長文字列のデータ型です。
char()と違って、空きを半角スペースで埋めることはしません。
11です。

shohin_bunrui varchar(32) not null,では、shohin_bunruiという項目(カラム)を、32文字以内の可変長な文字列で、必ずデータを入れる仕様で作成しています。

hanbai_tanka integer,は、hanbai_tankaという項目(カラム)を、数値で格納する仕様となっています。

integerは、整数を入れるためのデータ型です。
小数は入れることができません。
not nullを指定しない場合は、nullと指定せずに省略します。

shiire_tanka integer,は、shiire_tankaという項目(カラム)を、数値で格納する仕様となっています。

torokubi date,は、shiire_tankaという項目(カラム)に、日付を格納する仕様となっています。

dateは、日付を指定するためのデータ型です。

primary key (shohin_id)は、主キー(プライマリーキー)をshohin_idにするという意味です。 特定のデータを指定するときに使う組み合わせのことです。 重複しない一意な値が入るカラムに使用します。

まだ理解できないところが多いと思いますが、やっていくうちに慣れてくると思います。
頑張りましょう。

テーブル、カラムの一覧表示

¥dで、テーブルの一覧を表示できます。

¥d

すると、このように表示されるはずです。

        List of relations
 Schema |  Name  | Type  | Owner 
--------+--------+-------+-------
 public | shohin | table | admin
(1 row)

Nameの欄にshohinがあるので、無事にテーブルは作成されています。

次に、Shohinテーブルに、カラムがちゃんと作られているか確認したいと思います。
カラムの一覧表示には、このようなSQL文を実行します。

select * from Shohin;

実行結果はこうなります。

 shohin_id | shohin_mei | shohin_bunrui | hanbai_tanka | shiire_tanka | torokubi 
-----------+------------+---------------+--------------+--------------+----------
(0 rows)

これで、カラムの一覧を表示できました。

カラムの詳細は、以下の¥d テーブル名で確認できます。

¥d Shohin;

実行結果は以下の通りです。

                          Table "public.shohin"
    Column     |          Type          | Collation | Nullable | Default 
---------------+------------------------+-----------+----------+---------
 shohin_id     | character(4)           |           | not null | 
 shohin_mei    | character varying(100) |           | not null | 
 shohin_bunrui | character varying(32)  |           | not null | 
 hanbai_tanka  | integer                |           |          | 
 shiire_tanka  | integer                |           |          | 
 torokubi      | date                   |           |          | 
Indexes:
    "shohin_pkey" PRIMARY KEY, btree (shohin_id)

今日はここまで。

参考書籍

SQL 第2版 ゼロからはじめるデータベース操作
"https://amzn.to/2QYMBJD"

今日の一言

テーブルできたのでSQLはマスターしたも同然!!!!

次回の記事はこちら

SQLのお勉強 3.テーブルを変更・削除する
"https://0371.blog/sql-3"