- はじめに
- SQLとは
- データベースとは
- 用語
- 事前準備:phpMyAdminでMySQLを操作する
- SQLコマンド
- CREATE(テーブルを作成)
- INSERT(データを登録)
- SELECT(データを取得)
- WHERE(条件検索)
- UPDATE(データの更新)
- DELETE(データの削除)
- DROP(テーブル、データベースの削除)
- IN(リストに一致するものを取得)
- LIKE(文字列を部分一致検索)
- NOT(条件式などを否定)
- iS NULL(nullのものを取得)
- COUNT(数を数える関数)
- GROUP BY(カラムごとの集計)
- CASE(条件分岐)
- SUM(カラムの数値の合計値を取得)
- AVG(カラムの数値の平均値を取得)
- MAX,MIN(最大値、最小値を取得)
- ORDER BY(指定したカラムを対象に昇順(または降順)に並び替える)
- INNER JOIN
- LEFT(RIGHT) JOIN
- SQLの記述順序と実行順序
- さいごに
はじめに
データベースは、膨大な情報を効率的に管理し、必要なデータを迅速に取り出すために欠かせないツールです。そして、そのデータベースを操作するための言語が「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のインストールと起動
公式サイトからMAMPをダウンロードし、インストールします。
インストール後、MAMPを起動し、コントロールパネルを開きます。
次に「Start Servers」ボタンをクリックしてサーバーを開始します。
サーバーが起動したら、ブラウザを開いて以下のURLにアクセスします
http://localhost:8888/phpMyAdmin/
下記のようなphpMyAdminの画面が表示されれば準備完了です。
MySQLの基本設定
phpMyAdminにログインすると、デフォルトのMySQL設定が読み込まれます。MAMPでは通常、以下のような設定になっています:
- ユーザー名:
root
- パスワード:
root
データベースの作成やテーブルの管理を始める前に、この設定を確認しておきましょう。
データベースを作成する
以下の手順に従って、新しいデータベースを作成してみましょう。
phpMyAdminにアクセスし、画面上部のメニューから「データベース」タブをクリックします。
「データベースの作成」欄に、作成したいデータベース名を入力します(例: sample_database
)。
入力が終わったら、右側の「作成」ボタンをクリックします。
左側のメニューバーに、新しく作成したデータベースが表示されていることを確認してください。
これでデータベースの作成は完了です!
ゆうや
データベース名には、スペースや特殊文字を使わず、小文字やアンダースコア(_)を使用するのがおすすめです。
画面上の操作でテーブルを作成する
以下の手順で、新しいテーブルを作成してみましょう。
作成したデータベースを選択すると、テーブル作成画面が表示されます。
- テーブル名(例: test01)を入力します。
- 「カラム数」には、このテーブルに必要な項目数を入力します(例:
4
)。
入力が完了したら、「作成」をクリックしてください。
※ カラムとは、テーブル内の「列」にあたるもので、データの項目(例: 名前、年齢など)を指します。
テーブル構造の設定画面が表示されます。以下の情報を入力してください。
必要な情報をすべて入力したら、「保存」をクリックします。
- カラム名: 項目の名前(例:
id
,name
,age
,email
など)。 - データ型: 項目に保存するデータの種類(例: INT, VARCHAR, DATE)。
- 長さ/値: データの最大長(例:
VARCHAR
の場合、文字数の上限を設定)。
補足
- カラム名は分かりやすい名前を付けるように心がけましょう。例えば、「名前」を表す場合は
name
など英語で命名すると便利です。 - データ型の選択: データの種類に応じて適切な型を選ぶのがポイントです。たとえば:
VARCHAR
: 文字列(例: 名前やメールアドレス)INT
: 数値(例: 年齢やID)
これで、テーブルの作成が完了です!次はデータの挿入に進んでみましょう。
データを登録する
以下の手順で、作成したテーブルにデータを登録してみましょう。
左側のメニューから、データを登録したいテーブル(例: test01)をクリックします。
テーブルの詳細画面が表示されたら、上部メニューにある「挿入」タブをクリックします。
各カラムに対応する欄に、登録したいデータを入力します。
入力が完了したら、画面下部の「実行」をクリックしてください。これでデータが登録されます。
補足
- 必須項目: 必須のカラム(例:
id
など)にはデータを入力する必要があります。空欄のままにするとエラーが発生する場合があるので注意してください。 - データ型に注意: 例えば、数値型(INT)のカラムには数字を、文字列型(VARCHAR)のカラムには文字列を入力してください。文字列の場合はシングルクォート(例:
'John'
)が必要です。
これでデータの登録が完了しました!次は登録したデータを確認してみましょう。
“SQL” でテーブルを作成する
phpMyAdminでは、直接SQLコードを記述してテーブルを作成することもできます。
以下の手順に従って、SQLを使ったテーブル作成方法を学びましょう。
phpMyAdminの画面上部にある「SQL」タブをクリックします。
これにより、SQLを直接入力できるテキストエリアが表示されます。
テキストエリアに以下のコードを入力します。
このコードは、新しく作成したデータベース db_qiita
にテーブルを追加するものです。
CREATE TABLE db_qiita.test02 (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
code VARCHAR(255),
occupation VARCHAR(255)
);
入力が完了したら、画面下部の「実行」をクリックします。
これで test02
という名前のテーブルが作成されます。
補足
SQLを使えば、テーブルの作成だけでなく、データの登録や取得、更新、削除など、さまざまな操作が可能です。SQLタブを活用して、他のコマンドも試してみましょう!
SQLコマンド
CREATE(テーブルを作成)
CREATE TABLE DB名.テーブル名 (
column1 データ型(長さ) その他オプション,
column2 データ型(長さ) その他オプション,
column3 データ型(長さ) その他オプション,
column4 データ型(長さ) その他オプション
);
INSERT(データを登録)
INSERT INTO DB名.テーブル名 (カラム名1,カラム名2,カラム名3) VALUES(値1, 値2, 値3);
SELECT(データを取得)
SELECT カラム名 FROM DB名.テーブル名;
WHERE(条件検索)
SELECT * FROM DB名.テーブル名 WHERE 条件式;
演算子 | 説明 |
= | 等しい |
> | 大きい |
< | 小さい |
>= | 大きい、もしくは等しい |
<= | 小さい、もしくは等しい |
!= | 等しくない |
<> | 等しくない |
AND | 2つの条件を結合し、両方の条件が真 |
OR | 2つの条件のうち、どちらか一方が真 |
NOT | 式の結果を反転 |
BETWEEN a AND b | 対象のフィールドが a と b の範囲内 |
IN | 対象のフィールドが式の一覧の1つに一致 |
LIKE | 対象のフィールドがパターンに一致 |
UPDATE(データの更新)
UPDATE DB名.テーブル名 SET 項目名=更新する値 WHERE 編集したいレコードを特定できる式;
DELETE(データの削除)
DELETE FROM DB名.テーブル名 WHERE 条件式;
DROP(テーブル、データベースの削除)
DROP TABLE DB名.テーブル名;
IN(リストに一致するものを取得)
[対象の要素名] IN([値1,値2,値3…]);
LIKE(文字列を部分一致検索)
SELECT 列名 FROM テーブル名 WHERE 列名 LIKE ‘検索文字’;
NOT(条件式などを否定)
SELECT カラム名 FROM テーブル名 WHERE カラム名 NOT LIKE ‘検索文字’;
iS NULL(nullのものを取得)
SELECT カラム名 FROM テーブル名 WHERE カラム名 is NULL;
COUNT(数を数える関数)
SELECT COUNT(カラム名) FROM テーブル名;
GROUP BY(カラムごとの集計)
SELECT カラム名、COUNT(カラム名) FROM db_test.test01 GROUP BY code;
CASE(条件分岐)
SELECT
*,
CASE
WHEN 条件式 THEN 条件を満たしたら表示する内容
WHEN 条件式 THEN 条件を満たしたら表示する内容
ELSE 条件を満たしていなかったら表示する内容
END
FROM DB名.テーブル名;
SUM(カラムの数値の合計値を取得)
SELECT SUM(カラム名) FROM テーブル名;
AVG(カラムの数値の平均値を取得)
SELECT AVG(カラム名) FROM テーブル名;
MAX,MIN(最大値、最小値を取得)
SELECT MAX(カラム名) FROM テーブル名;
SELECT MIN(カラム名) FROM テーブル名;
ORDER BY(指定したカラムを対象に昇順(または降順)に並び替える)
SELECT カラム名 FROM テーブル名 ORDER BY カラム名 ASC;
SELECT カラム名 FROM テーブル名 ORDER BY カラム名 DESC;
INNER JOIN
SELECT 取得するカラム FROM DB名.テーブルA INNER JOIN DB名.テーブルB
ON Aの対象カラム = Bの対象カラム;
LEFT(RIGHT) JOIN
SELECT 取得するカラム FROM DB名.テーブルA LEFT(RIGHT) JOIN DB名.テーブルB
ON Aの対象カラム = Bの対象カラム;
SQLの記述順序と実行順序
SQLはコードを記述順序と実行順序が決められています。
順序を意識して記述すると、SQLの処理が早くなったり、行いたい処理がスムーズに実行できることがあります。
意図しない動きがあった時はこの順序が関係しているかもしれません。
記述順序
- SELECT
- FROM
- JOIN
- WHERE
- GROUP BY
- WITH CUBE または WITH ROLLUP
- HAVING
- DISTINCT
- ORDER BY
- TOP
実行順序
- FROM
- ON
- JOIN
- WHERE
- GROUP BY
- WITH CUBE または WITH ROLLUP
- HAVING
- SELECT
- DISTINCT
- ORDER BY
- TOP
さいごに
ここまでお読みいただきありがとうございます!
この記事では、SQLやデータベースの基本について学び、実際にphpMyAdminを使った操作を体験しました。
初めて触れる内容も多かったと思いますが、一つひとつ着実に進めていけば、必ずスキルが身につきます。
データベース操作の基本を押さえた今、ぜひ以下のようなことにも挑戦してみてください:
- より複雑なテーブル構造の作成
- データの検索(SELECT文)の練習
- 更新や削除(UPDATE、DELETE)の操作
SQLはプログラミングやデータ活用の場面で非常に役立つスキルです。
最初は難しく感じるかもしれませんが、練習を重ねればどんどん理解が深まります。
もしこの記事が役に立ったら、ぜひシェアをお願いします!
それでは、次のステップへ進むあなたを応援しています!
引き続き、楽しい学習を!