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()
は固定長文字列のデータ型です。
1
は1***
というように、文字数が最大長になるまで、空きを半角スペースで埋めるのが特徴です。
not null
は、必ずデータが入っていなければならないという制約を課すための記述です。
何かしらのデータを入れないとエラーになります。
shohin_mei varchar(100) not null,
では、shohin_mei
という項目(カラム)を、100文字以内の可変長な文字列で、必ずデータを入れる仕様で作成しています。
varchar()
は可変長文字列のデータ型です。
char()
と違って、空きを半角スペースで埋めることはしません。
1
は1
です。
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"