SQLことはじめ| プログラミングの砂場

プログラミング学習やタイピング練習に役立つツールを公開しているサイトです。

SQLことはじめ

SQLを書いていく前に、テーブルや行、列などについてざっと確認しておきましょう。

目次

1. はじめに

SQLは、リレーショナルデータベースを操作するための言語です。

1-1. リレーショナルデータベース

リレーショナルデータベースとは、現在最も普及しているデータベースの一つで、簡単に言うと行と列からなる2次元表にデータを保存、管理するデータベースです。

2次元というと難しく聞こえるかもしれませんが、下のような表をイメージしてください。

テーブル

1-2. テーブル

上の表(のようなもの)は、リレーショナルデータベース(以下データベース)の世界では「テーブル」といいます。

テーブルには行と列があります。

行を選択するとか、列を指定するなどの言葉を使いますので、行と列を確認しておきましょう。

行はテーブルの横方向、列はテーブルの縦方向をのことを指します。

テーブルの行と列

ひとつのデータベースには、ふつう複数のテーブルが存在しています。

例えば、ショッピングサイトなど使用されるデーターベースでは、

会員テーブル
商品カテゴリ
商品テーブル
売上テーブル
売上明細テーブル


などのテーブル群でデータベースが構成されています。

さらに、これらのテーブルはそれぞれ別のテーブルと関連し合っているのが普通です。

1-3. リレーションシップ

テーブルとテーブルとの関連を「リレーションシップ」といいます。

例えば、「Aさんがメロンを買った」という情報を得るには4つのテーブルが絡んできます。

Aさんの情報は、会員テーブル
メロンの情報は、商品テーブル
買ったという情報は、売上テーブルと売上明細テーブル

テーブル同士のリレーションシップが無ければ、「Aさんがメロンを買った」という情報を取得(保存も)することはできません。

また、リレーションシップの情報を知らなければ、SQLを使って目的の情報を取得することもままなりません。

互いのテーブルが関連し合って情報を保持するデータベースということで、「リレーショナルデータベース」というわけです。

テーブル同士のリレーションシップを表現するにはER図がよく使われます。

ER図の読み方などについては、のちほど。

1-4. SQL

これらのテーブルには、下のように様々なデータ操作が考えられれます。

ショッピングサイトをオープンするために商品テーブルには、あらかじめ売る商品を登録しておく必要があります。

はじめてのお客さんが買い物をするときには、会員テーブルにお客さんのデータを登録する必要があるでしょう。

お客さんの住所が変更になった場合は、会員テーブルの住所欄の更新が必要です。

会員が退会した際には、会員テーブルからその会員を削除する必要があるかもしれません。

商品を検索する際には、商品テーブルの検索が必要です。

商品を購入した際には、売上テーブルと売上明細テーブルの登録。

新商品の販売には、商品テーブルに新商品の登録が必要になるでしょう。


このようにデータベース(各テーブルなど)に対して、データを操作する必要がある際に使われるのがSQLです。

SQLは、目的に応じて次の3つに分類されます。

DDL(データ定義言語)
DML(データ操作言語)
DCL(データ制御言語)

このサイトでいうSQLは、上の内、DML(データ操作言語)を指します。

DMLは、データ操作言語という名前の通り、テーブルに保存されているデータの検索や更新などに使われます。

DMLの種類は次のとおりです。

SELECT テーブルからデータを検索する
INSERT テーブルにデータを登録する
UPDATE テーブルのデータを更新する
DELETE テーブルのデータを削除する

ここでは、DMLの中でもプログラマが最も頻繁に使うであろうSELECT(データの検索)の使い方について重点的に見ていきます。

2. SQL練習用テーブルについて

このサイトでは、青果店の売り上げを管理する5つの簡単なテーブルを用意してあります。

この青果店は、会員のみにネット販売をしているという想定です。

2-1. 練習用テーブル

テーブル名 用途
Kaiin 会員
Category 商品カテゴリ
Shouhin 商品
Uriage 売上
Uriage_meisai 売上明細

テーブル名は、最初のアルファベットが大文字にしてあるので注意してください。

2-2. ER図

各テーブルのリレーションシップは以下のようになっています。(とりあえず、こんなものかと読み飛ばしてください)

3. 砂場SQLの実行

まずは、砂場SQLの動作を確認するために、下のSQLを打って実行してみてください。

砂場SQL

SELECT * FROM Category;

「野菜、果物、その他」といった内容の表が表示されていればOKです。

打ち込んだSQLに間違いなどがあると、赤くエラーと表示されます。

その際には、もう一度SQLを見直して打ち直してください。

ちなみに、SQLの命令そのもの(selectとかfromなど)は大文字小文字どちらで打っても構いません。

また、SQLに改行やTab、半角スペースなどを打っても大丈夫です。

以下の打ち方はOKです。

select * from Category;
SELECT
    *
FROM
    Category;

4. まとめ

リレーショナルデータベースは、行と列からなる2次元表にデータを保存管理するデータベースです。

この表は「テーブル」といいます。

行はテーブルの横方向のことです。

列はテーブルの縦方向のことです。

テーブルはふつう、複数存在します。

各テーブルにはふつう、リレーションシップ(互いの関連)があります。

データベース(各テーブルなど)に対して、データを操作する必要がある際に使われるのがSQLです。

SQLは目的に応じて、DDL(データ定義言語)、DML(テータ操作言語)、DCL(データ制御言語)の3つに分かれます。

このサイトでは、砂場SQLを使ってDMLの中でも最も頻繁に使われるSELECT(データ取得)について見ていきます。

次は、「テーブルについて」です。

5. 関連記事

TOP