はじめに

データベースは、膨大な情報を効率的に管理し、必要なデータを迅速に取り出すために欠かせないツールです。そして、そのデータベースを操作するための言語が「SQL(Structured Query Language)」です。

初めてSQLを学ぶと、「難しそう」と感じるかもしれませんが、基本的なコマンドを理解すれば、意外と簡単に操作できることがわかります。
このガイドでは、SQLとは何か、データベースの基本的な仕組み、そしてSQLを使った基本的な操作について、初心者にもわかりやすく解説します。

これから、SQLを学びたい方やデータベース操作の基礎を身につけたい方にとって、このページが役立つスタート地点となれば幸いです。

それでは、SQLの世界へ一緒に踏み出してみましょう!

ゆうや

難しそうに感じるかもしれませんが、一歩ずつ進めていけば大丈夫!
一緒に学んでいきましょう!

SQLとは

SQL(Structured Query Language)は、データベースを操作するための標準的なプログラミング言語です。データベース内の情報を「検索」「追加」「更新」「削除」するために使用され、特にリレーショナルデータベース(RDB)で広く利用されています。

SQLの役割

主なSQLの機能や用途には以下のものがあります

  • データの検索
  • データの追加
  • データの更新
  • データの削除
  • テーブルの作成
  • テーブルの削除
  • テーブルの主キーの設定
  • ユーザー権限の付与

データベースとは

データベースとは、大量の情報を整理し、効率的に保存・管理するための仕組みです。
たとえば、顧客情報や製品の在庫状況など、ビジネスや日常生活の中で扱うデータを一元的に管理するために利用されます。

データベースの役割

データベースの主な役割は以下の通りです:

  • データの保存: 大量の情報を安全に保管し、必要なときに取り出せるようにします。
  • データの検索と利用: 必要なデータを効率的に検索し、分析や意思決定に活用します。

用語

用語説明
クエリSQLを実行したときに、データベースに送る命令文のこと
一意一意とは意味や値が一つに確定していることという意味。データの一意とは、大量にあるデータから、1つの情報が特定できる状態を意味する。
NULL何もないという意味
NOT NULLデータベースの項目に付ける制限(制約)のひとつ。この制限のつけられたカラムにはNULL(空の値)は入れられない。
AUTO_INCREMENT機能AUTO_INCREMENTとはそのまま訳すと自動増加という意味。カラムにAUTO_INCREMENTを指定すると、MySQLが自動的に一意の連続した番号を生成してくれる。
PRIMARY KEY(主キー)テーブルに登録されるレコード(行)の全体の中から、ひとつのデータを特定するためのもの。つまりPRIMARY KEY(主キー)を設定したカラムには同じ値を入れることができない。
予約語テーブル名やカラム名で使えない語句のこと

事前準備:phpMyAdminでMySQLを操作する

SQLを学び始めるにあたって、データベースを操作するための環境を整える必要があります。
このセクションでは、MAMPに標準で搭載されているphpMyAdminを使い、ブラウザ上でMySQLを操作する手順を解説します。

phpMyAdminとは?

phpMyAdminは、Webブラウザ上でMySQLを操作できる便利なツールです。
SQLコマンドを直接記述しなくても、GUI(グラフィカルユーザーインターフェース)を使って簡単にデータベースを管理することができます。

MAMPのインストールと起動

STEP1
MAMPをインストール

公式サイトからMAMPをダウンロードし、インストールします。

STEP2
MAMPを起動

インストール後、MAMPを起動し、コントロールパネルを開きます。
次に「Start Servers」ボタンをクリックしてサーバーを開始します。

STEP3
phpMyAdminへのアクセス

サーバーが起動したら、ブラウザを開いて以下のURLにアクセスします
http://localhost:8888/phpMyAdmin/

下記のようなphpMyAdminの画面が表示されれば準備完了です。

MySQLの基本設定

phpMyAdminにログインすると、デフォルトのMySQL設定が読み込まれます。MAMPでは通常、以下のような設定になっています:

  • ユーザー名: root
  • パスワード: root

データベースの作成やテーブルの管理を始める前に、この設定を確認しておきましょう。

データベースを作成する

以下の手順に従って、新しいデータベースを作成してみましょう。

STEP1
phpMyAdminの画面に移動

phpMyAdminにアクセスし、画面上部のメニューから「データベース」タブをクリックします。

STEP2
新規データベースの作成

「データベースの作成」欄に、作成したいデータベース名を入力します(例: sample_database)。

STEP3
作成をクリック

入力が終わったら、右側の「作成」ボタンをクリックします。

STEP4
データベースの確認

左側のメニューバーに、新しく作成したデータベースが表示されていることを確認してください。
これでデータベースの作成は完了です!

ゆうや

データベース名には、スペースや特殊文字を使わず、小文字やアンダースコア(_)を使用するのがおすすめです。

画面上の操作でテーブルを作成する

以下の手順で、新しいテーブルを作成してみましょう。

STEP1
テーブル名とカラム数を入力

作成したデータベースを選択すると、テーブル作成画面が表示されます。

  • テーブル名(例: test01)を入力します。
  • 「カラム数」には、このテーブルに必要な項目数を入力します(例: 4)。
    入力が完了したら、「作成」をクリックしてください。

※ カラムとは、テーブル内の「列」にあたるもので、データの項目(例: 名前、年齢など)を指します。

はじめてのSQL:データベースと基本コマンドの使い方
STEP2
カラムの詳細を入力

テーブル構造の設定画面が表示されます。以下の情報を入力してください。

必要な情報をすべて入力したら、「保存」をクリックします。

  • カラム名: 項目の名前(例: id, name, age, email など)。
  • データ型: 項目に保存するデータの種類(例: INT, VARCHAR, DATE)。
  • 長さ/値: データの最大長(例: VARCHARの場合、文字数の上限を設定)。
はじめてのSQL:データベースと基本コマンドの使い方

補足

  • カラム名は分かりやすい名前を付けるように心がけましょう。例えば、「名前」を表す場合は name など英語で命名すると便利です。
  • データ型の選択: データの種類に応じて適切な型を選ぶのがポイントです。たとえば:
    • VARCHAR: 文字列(例: 名前やメールアドレス)
    • INT: 数値(例: 年齢やID)

これで、テーブルの作成が完了です!次はデータの挿入に進んでみましょう。

データを登録する

以下の手順で、作成したテーブルにデータを登録してみましょう。

STEP1
データを登録したいテーブルを選択

左側のメニューから、データを登録したいテーブル(例: test01)をクリックします。

STEP2
「挿入」タブをクリック

テーブルの詳細画面が表示されたら、上部メニューにある「挿入」タブをクリックします。

STEP3
値を入力し、「実行」をクリック

各カラムに対応する欄に、登録したいデータを入力します。
入力が完了したら、画面下部の「実行」をクリックしてください。これでデータが登録されます。

補足

  • 必須項目: 必須のカラム(例: id など)にはデータを入力する必要があります。空欄のままにするとエラーが発生する場合があるので注意してください。
  • データ型に注意: 例えば、数値型(INT)のカラムには数字を、文字列型(VARCHAR)のカラムには文字列を入力してください。文字列の場合はシングルクォート(例: 'John')が必要です。

これでデータの登録が完了しました!次は登録したデータを確認してみましょう。

“SQL” でテーブルを作成する

phpMyAdminでは、直接SQLコードを記述してテーブルを作成することもできます。
以下の手順に従って、SQLを使ったテーブル作成方法を学びましょう。

STEP1
SQL」タブをクリック

phpMyAdminの画面上部にある「SQL」タブをクリックします。
これにより、SQLを直接入力できるテキストエリアが表示されます。

はじめてのSQL:データベースと基本コマンドの使い方
STEP2
テキストエリアにSQLを記述

テキストエリアに以下のコードを入力します。
このコードは、新しく作成したデータベース db_qiita にテーブルを追加するものです。

はじめてのSQL:データベースと基本コマンドの使い方
sql

CREATE TABLE db_qiita.test02 (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
code VARCHAR(255),
occupation VARCHAR(255)
);

STEP3
「実行」をクリックしてコードを実行

入力が完了したら、画面下部の「実行」をクリックします。
これで test02 という名前のテーブルが作成されます。

補足

SQLを使えば、テーブルの作成だけでなく、データの登録や取得、更新、削除など、さまざまな操作が可能です。SQLタブを活用して、他のコマンドも試してみましょう!

SQLコマンド

CREATE(テーブルを作成)

sql

CREATE TABLE DB名.テーブル名 (
column1 データ型(長さ) その他オプション,
column2 データ型(長さ) その他オプション,
column3 データ型(長さ) その他オプション,
column4 データ型(長さ) その他オプション
);

INSERT(データを登録)

sql

INSERT INTO DB名.テーブル名 (カラム名1,カラム名2,カラム名3) VALUES(値1, 値2, 値3);

SELECT(データを取得)

sql

SELECT カラム名 FROM DB名.テーブル名;

WHERE(条件検索)

sql

SELECT * FROM DB名.テーブル名 WHERE 条件式;

演算子説明
=等しい
大きい
小さい
>=大きい、もしくは等しい
<=小さい、もしくは等しい
!=等しくない
<>等しくない
AND2つの条件を結合し、両方の条件が真
OR2つの条件のうち、どちらか一方が真
NOT式の結果を反転
BETWEEN a AND b対象のフィールドが a と b の範囲内
IN対象のフィールドが式の一覧の1つに一致
LIKE対象のフィールドがパターンに一致

UPDATE(データの更新)

sql

UPDATE DB名.テーブル名 SET 項目名=更新する値 WHERE 編集したいレコードを特定できる式;

DELETE(データの削除)

sql

DELETE FROM DB名.テーブル名 WHERE 条件式;

DROP(テーブル、データベースの削除)

sql

DROP TABLE DB名.テーブル名;

IN(リストに一致するものを取得)

sql

[対象の要素名] IN([値1,値2,値3…]);

LIKE(文字列を部分一致検索)

sql

SELECT 列名 FROM テーブル名 WHERE 列名 LIKE ‘検索文字’;

NOT(条件式などを否定)

sql

SELECT カラム名 FROM テーブル名 WHERE カラム名 NOT LIKE ‘検索文字’;

iS NULL(nullのものを取得)

sql

SELECT カラム名 FROM テーブル名 WHERE カラム名 is NULL;

COUNT(数を数える関数)

sql

SELECT COUNT(カラム名) FROM テーブル名;

GROUP BY(カラムごとの集計)

sql

SELECT カラム名、COUNT(カラム名) FROM db_test.test01 GROUP BY code;

CASE(条件分岐)

sql

SELECT
*,
CASE
WHEN 条件式 THEN 条件を満たしたら表示する内容
WHEN 条件式 THEN 条件を満たしたら表示する内容
ELSE 条件を満たしていなかったら表示する内容
END
FROM DB名.テーブル名;

SUM(カラムの数値の合計値を取得)

sql

SELECT SUM(カラム名) FROM テーブル名;

AVG(カラムの数値の平均値を取得)

sql

SELECT AVG(カラム名) FROM テーブル名;

MAX,MIN(最大値、最小値を取得)

sql

SELECT MAX(カラム名) FROM テーブル名;

sql

SELECT MIN(カラム名) FROM テーブル名;

ORDER BY(指定したカラムを対象に昇順(または降順)に並び替える)

sql

SELECT カラム名 FROM テーブル名 ORDER BY カラム名 ASC;

sql

SELECT カラム名 FROM テーブル名 ORDER BY カラム名 DESC;

INNER JOIN

sql

SELECT 取得するカラム FROM DB名.テーブルA INNER JOIN DB名.テーブルB
ON Aの対象カラム = Bの対象カラム;

LEFT(RIGHT) JOIN

sql

SELECT 取得するカラム FROM DB名.テーブルA LEFT(RIGHT) JOIN DB名.テーブルB
ON Aの対象カラム = Bの対象カラム;

SQLの記述順序と実行順序

SQLはコードを記述順序と実行順序が決められています。
順序を意識して記述すると、SQLの処理が早くなったり、行いたい処理がスムーズに実行できることがあります。
意図しない動きがあった時はこの順序が関係しているかもしれません。

記述順序

  1. SELECT
  2. FROM
  3. JOIN
  4. WHERE
  5. GROUP BY
  6. WITH CUBE または WITH ROLLUP
  7. HAVING
  8. DISTINCT
  9. ORDER BY
  10. TOP

実行順序

  1. FROM
  2. ON
  3. JOIN
  4. WHERE
  5. GROUP BY
  6. WITH CUBE または WITH ROLLUP
  7. HAVING
  8. SELECT
  9. DISTINCT
  10. ORDER BY
  11. TOP

さいごに

ここまでお読みいただきありがとうございます!
この記事では、SQLやデータベースの基本について学び、実際にphpMyAdminを使った操作を体験しました。
初めて触れる内容も多かったと思いますが、一つひとつ着実に進めていけば、必ずスキルが身につきます。

データベース操作の基本を押さえた今、ぜひ以下のようなことにも挑戦してみてください:

  • より複雑なテーブル構造の作成
  • データの検索(SELECT文)の練習
  • 更新や削除(UPDATE、DELETE)の操作

SQLはプログラミングやデータ活用の場面で非常に役立つスキルです。
最初は難しく感じるかもしれませんが、練習を重ねればどんどん理解が深まります。

もしこの記事が役に立ったら、ぜひシェアをお願いします!

それでは、次のステップへ進むあなたを応援しています!
引き続き、楽しい学習を!