SQL の基礎知識!データベースはここから始める

システムエンジニアへの道
スポンサーリンク

データベースはシステムエンジニア、プログラマーには欠かせない知識です。

OracleDB2SQL ServerPostgreSQLMySQL、データベースの種類は多く存在しますが、学習する内容はほとんど同じなので、とりあえず何でも良いのでデータベースに触れてみましょう。

スポンサーリンク

データベースとは

データベース (Database) とは、ありとあらゆる情報を蓄積検索分析するために必要となるものです。

一般的に使用されているデータベースはリレーショナルデータベース (RDB) と呼ばれ、それぞれの情報に関連を持たせて管理します。

DB と略されることが多く、読み方はなぜか「ディービー」ではなく「デービー」と発音されることが多いので「デービー」と言われたらデータベースのことだと思ってください。

かなり昔からなので、「ディービー」という発音が聞き取りにくかったのが原因だと思います・・・。

ちなみに、アプリケーション開発しているエンジニアプログラマーでも意外と詳しくないという人が多いです。

どのようなことを学んでいけば良いか、参考にしてください。

データを扱う (テーブルイメージ)

データベースにはテーブルと呼ばれる「データを蓄積する箱」のようなものが定義されています。

イメージとしては Excel で作成する表に近く、列に管理したい項目、行にひとつひとつの情報を入力する感覚です。

商品情報テーブル (データベーステーブルイメージ)
★ 商品情報テーブル (データベーステーブルイメージ)

その箱から情報を取り出したり、情報を登録、更新するため SQL (Structured Query Language) という言語を使用します。

ここでは、アプリケーション開発時にほぼ必須となるデータ操作用 SQL (DML : Data Manipulation Language) を紹介します。

他にもデータ定義用 SQL (DDL : Data Definition Language)や、データ制御用 SQL (DCL :Data Control Language) などがありますが、初めは DML だけ覚えれば役に立ちます。

DML で覚えるものは 4つ、取得 (SELECT)、登録 (INSERT)、更新 (UPDATE)、削除 (DELETE) です。

簡単な内容のみ紹介しますが、基礎知識としてはこれだけで十分です。

取得する : SELECT

SELECT は、データを取得する SQL です。

おそらく SQL を学ぶ上で一番初めに覚えるものであり、かつ一番奥の深いものだと思われます。

まずは一番シンプルな、全項目全件取得する以下の SELECT 文を覚えて、徐々に「取得項目の選択」や「取得条件の追加」に進みましょう。

サンプル

-- 全項目全件取得
SELECT * FROM 商品情報;

*全項目WHERE 条件なし全件となります。

全項目全件取得イメージ
★ 全項目全件取得イメージ

サンプル

-- 取得項目の選択
SELECT 商品番号, 商品名
FROM 商品情報;
取得項目の選択イメージ
★ 取得項目の選択イメージ

サンプル

-- 取得条件の追加
SELECT *
FROM 商品情報
WHERE 商品番号 = 'A00004';
取得条件の追加イメージ
★ 取得条件の追加イメージ

サンプル

-- 取得結果の並び替え ※ 数量の少ない順
-- ORDER BY は、ASC (省略可)で昇順、DESC で降順に並びます
SELECT 商品番号, 商品名, 数量, 価格
FROM 商品情報
ORDER BY 数量 ASC;
取得結果の並び替えイメージ
★ 取得結果の並び替えイメージ
【説明】
-- はコメントとなり、実行対象になりません。
; は SQL の終了を意味します。
' ' は文字型等の情報を扱うときに付けるもので、付け忘れるとエラーになる場合があります。

高度な SELECT 文では、「複数テーブルからの情報取得」や「種類ごとのランキング (トップ10)」なども取得できます。

登録する : INESRT

INSERT は、データを登録する SQL です。

新しいデータを登録する際に使用します。

前半の () 内は登録したい項目、後半の () は項目に対応する値となります。

サンプル

-- データ追加
INSERT INTO 商品情報
(商品番号, 商品名, 数量, 価格)
VALUES
('A00006', 'バナナ', 10, 1000);
データ追加イメージ
★ データ追加イメージ

更新する : UPDATE

UPDATE は、データを更新する SQL です。

既に登録されているデータを書き換えます。

WHERE 文で指定した条件と一致する情報を SET に記述した内容で更新します。

サンプル

-- データ更新
UPDATE 商品情報 SET
数量 = 50
,価格 = 4500
WHERE 商品番号 = 'A00001';
データ更新イメージ
★ データ更新イメージ

削除する : DELETE

DELETE は、データを削除する SQL です。

既に登録されているデータを削除します。

WHERE 文で指定した条件と一致する情報を削除します。

!! 削除すると復元できないので、慎重に実行してください。

!! WHERE 文を指定しないで実行すると、全件削除されてしまいます !!

サンプル

-- データ削除
DELETE FROM 商品情報
WHERE 商品番号 = 'A00003';
データ削除イメージ (データ削除後に全件取得)
★ データ削除イメージ (データ削除後に全件取得)

学習サイト

ユーザー登録するとブラウザ上でSQLを実行したり、学習できます。

サイト内にチュートリアルもありますので、学習してみてはいかがでしょうか。

Oracle Live SQL

まとめ

システムエンジニア、プログラマーには欠かせないデータベースでした。

紹介した DML を覚えておけば、初めてプロジェクトに参加しても少しは役に立つと思います。

基礎知識を学んだら、徐々に高度な SQL を覚えましょう。