見出し画像

データベース・SQL入門 第1回:データ操作の第一歩を踏み出そう

プログラミングを学んでいくと、必ずと言っていいほどぶつかる壁があります。それが「データの保存と管理」です。

アプリケーションを作っても、データを安全に整理して保存できなければ、実用的なシステムにはなりません。そこで登場するのがデータベースです。

本連載では、数回に分けてデータベースの基礎から、データを自由自在に操るための言語「SQL」の実践的な使い方までを短期集中で解説していきます。

今回は第1回として、「そもそもデータベースとは何か?」「SQLとは何か?」という基礎知識と、最も基本となるデータ取得のコードについて学んでいきましょう!


1. データベースとSQLの基礎知識

データベースの主流は「リレーショナルデータベース」

データベースには、階層型やネットワーク型などいくつかの種類がありますが、現在世界中のシステムで最も広く使われているのがリレーショナルデータベース(RDB:Relational Database)です 。

RDBの特徴は、データをExcelのような「表(テーブル)」の形式で管理することです 。横の並びを「行(レコードまたは組)」、縦の並びを「列(カラムまたは属性)」と呼びます 。

例えば、顧客情報を管理する KOKYAKU(顧客)テーブルは以下のようになります。


このように、項目ごとに整理された表を複数作り、それらを関連付けて(リレーションを持たせて)データを管理するのがRDBの強みです。

SQLとは?

そして、このリレーショナルデータベースに対して、「データを取り出して!」「新しいデータを追加して!」と命令するためのプログラミング言語がSQLです 。

SQLは英語の構文に似せて作られており 、直感的に読み書きしやすいのが特徴です。今回は、SQLの中でも最も使用頻度が高い「データの照会(検索)」について解説します。


2. データを取り出す魔法の呪文 SELECT

データベースに入っているデータを見るためには、SELECT(セレクト)文を使います 。

① テーブルのすべてのデータを見る

まずは、先ほどの KOKYAKU テーブルの中身をすべて表示させてみましょう。

SELECT * FROM KOKYAKU;
  • SELECT:取り出すデータを指定します。*(アスタリスク)は「すべての列」を意味します 。

  • FROM:どのテーブルから取り出すかを指定します。

この1行を実行するだけで、テーブルの中身を丸ごと確認することができます。

② 必要な「列」だけを選んで見る

データ量が多くなってくると、すべての列を表示させるのは見づらくなります。「顧客のIDと名前だけ知りたい」という場合は、以下のように列名を指定します 。

SELECT ID, NAME FROM KOKYAKU;

カンマ(,)で区切ることで、複数の列を好きな順番で取り出すことができます 。

③ 条件に合う「行」だけを絞り込む

実際の業務では、「特定の顧客のデータだけを見たい」というケースがほとんどです。行を絞り込むには WHERE句を使います 。

SELECT ID, NAME, ADDRESS 
FROM KOKYAKU 
WHERE ID = 'C001';

このコードを実行すると、IDが C001 である「渋谷システム」のデータだけが抽出されます 。

④ 曖昧な条件で探す(LIKE)

「名前に『モバイル』が含まれる会社を探したいけれど、IDがわからない…」 そんな時は、LIKE を使った曖昧検索が便利です 。

SELECT ID, NAME, ADDRESS 
FROM KOKYAKU 
WHERE NAME LIKE '%モバイル%';

%(パーセント)は「0文字以上の任意の文字列」を意味する記号です 。

  • %モバイル%:名前に「モバイル」が含まれるものすべて

  • モバイル%:名前が「モバイル」から始まるもの

  • %モバイル:名前が「モバイル」で終わるもの

このように、SELECT、FROM、WHERE の3つを組み合わせるだけで、大量のデータの中からピンポイントで欲しい情報を取り出すことができるようになります。


まとめ

第1回となる今回は、データベースとSQLの基礎、そしてデータ検索の基本である SELECT 文について学びました。

  • 現在の主流は表形式で管理するリレーショナルデータベース

  • データベースを操作する言語がSQL

  • データを取り出す基本構文は SELECT 列名 FROM テーブル名 WHERE 条件;

まずはこの基本の型をしっかりと覚えておきましょう。

次回は、複数の条件を組み合わせる方法(AND、ORなど)や、データの並べ替え、集計方法についてステップアップしていきます。お楽しみに!


いいなと思ったら応援しよう!

人生ライブラリ よろしければ応援お願いします! いただいたチップはクリエイターとしての活動費に使わせていただきます!