ブラウザだけで学習するMySQLの自作サンプル集

この記事では、ブラウザmyCompilerのMySQLを用いて、元々入力されているサンプルから、サザエさんを例に学習するサンプルを作成致しました。

また、本格的に勉強したい方向けに入門書の紹介をしております。

<<学習メニュー>>

ブラウザだけでMySQLを早速学習開始(サザエさんの例)

年齢の列を追加して25歳以上のサザエさんキャラの抽出

列指定とワイルドカードと年齢順のキャラクター抽出

最大値、平均年齢やカウントを使って最年長キャラなどを求めてみる


【オススメ入門書】
「いちばんやさしい SQL入門教室」
ソフトカバー
Kindle版


自己紹介

写真クリエイターとしての活動

ブラウザだけでMySQLを即学習【サザエさんの例 その4】|合計と平均|最大値と最小値|COUNT

この記事では、ブラウザだけでMySQLを即学習【サザエさんの例 その1】のと【その2】【その3】の続きですので、まずはそちらをご覧くださいませ。

使用ブラウザはmyCompilerのMySQLを使っています。

今回学習するテーブルのイメージです。

現在、ブラウザのMySQLの左側の画面はこの様なコードが入っています。

-- create a table
CREATE TABLE sazaefamily (
  id INTEGER PRIMARY KEY,
  name TEXT NOT NULL,
  gender TEXT NOT NULL,
  age INTEGER NOT NULL
);
-- insert some values
INSERT INTO sazaefamily VALUES (1, '磯野波平', '男性',54);
INSERT INTO sazaefamily VALUES (2, 'フグ田サザエ', '女性',24);
INSERT INTO sazaefamily VALUES (3, '磯野カツオ', '男性',11);
INSERT INTO sazaefamily VALUES (4, '磯野ワカメ', '女性',9);
INSERT INTO sazaefamily VALUES (5, '穴子さん', '男性',27);
-- fetch some values
SELECT * FROM sazaefamily WHERE gender = '女性';
SELECT * FROM sazaefamily;
SELECT * FROM sazaefamily WHERE age>=25;
SELECT name FROM sazaefamily WHERE id=4;
SELECT name FROM sazaefamily WHERE name LIKE '%野%';
SELECT name,age FROM sazaefamily WHERE age<15;
SELECT name,age FROM sazaefamily ORDER BY age DESC;


今日は、サザエさんのキャラクターの年齢の、平均や最大値、件数のカウントなどを求めて行きます。

まず、年齢の合計と平均を求めて見ます。

SELECT SUM(age),AVG(age) FROM sazaefamily;

実行結果です。

次に年齢の最大値と最小値を求めます。
年齢順に並べた表のイメージです。

SELECT MAX(age),MIN(age) FROM sazaefamily;

実行結果です。

この表の件数を求めます。

SELECT COUNT(*) FROM sazaefamily;

実行結果です。

最後に、年齢が平均以上のキャラクターの名前と年齢を求めます。

SELECT name,age FROM sazaefamily WHERE age >= (SELECT AVG(age) FROM sazaefamily);

実行結果です。

ここまでのコードのまとめです。

-- create a table
CREATE TABLE sazaefamily (
  id INTEGER PRIMARY KEY,
  name TEXT NOT NULL,
  gender TEXT NOT NULL,
  age INTEGER NOT NULL
);
-- insert some values
INSERT INTO sazaefamily VALUES (1, '磯野波平', '男性',54);
INSERT INTO sazaefamily VALUES (2, 'フグ田サザエ', '女性',24);
INSERT INTO sazaefamily VALUES (3, '磯野カツオ', '男性',11);
INSERT INTO sazaefamily VALUES (4, '磯野ワカメ', '女性',9);
INSERT INTO sazaefamily VALUES (5, '穴子さん', '男性',27);
-- fetch some values
SELECT * FROM sazaefamily WHERE gender = '女性';
SELECT * FROM sazaefamily;
SELECT * FROM sazaefamily WHERE age>=25;
SELECT name FROM sazaefamily WHERE id=4;
SELECT name FROM sazaefamily WHERE name LIKE '%野%';
SELECT name,age FROM sazaefamily WHERE age<15;
SELECT name,age FROM sazaefamily ORDER BY age DESC;
SELECT SUM(age),AVG(age) FROM sazaefamily;
SELECT MAX(age),MIN(age) FROM sazaefamily;
SELECT COUNT(*) FROM sazaefamily;
SELECT name,age FROM sazaefamily WHERE age >= (SELECT AVG(age) FROM sazaefamily);


お疲れ様でした。ブレイクタイムPhotoは、

隅田公園の梅の花です。

【オススメ入門書】
「いちばんやさしい SQL入門教室」
ソフトカバー
Kindle版

MySQL自作サンプル集へ戻る

自己紹介ページ


写真クリエイターとしての活動

ブラウザだけでMySQLを即学習【サザエさんの例 その3】|LIKEでワイルドカード|ORDER BYで年齢順に並び替え

この記事では、ブラウザだけでMySQLを即学習【サザエさんの例 その1】のと【その2】の続きですので、まずはそちらをご覧くださいませ。

使用ブラウザはmyCompilerのMySQLを使っています。

このレッスンで使用するテーブルのイメージです。

現在(前回まで)、ブラウザのMySQLの左側の画面はこの様なコードが入っています。

-- create a table
CREATE TABLE sazaefamily (
  id INTEGER PRIMARY KEY,
  name TEXT NOT NULL,
  gender TEXT NOT NULL,
  age INTEGER NOT NULL
);
-- insert some values
INSERT INTO sazaefamily VALUES (1, '磯野波平', '男性',54);
INSERT INTO sazaefamily VALUES (2, 'フグ田サザエ', '女性',24);
INSERT INTO sazaefamily VALUES (3, '磯野カツオ', '男性',11);
INSERT INTO sazaefamily VALUES (4, '磯野ワカメ', '女性',9);
INSERT INTO sazaefamily VALUES (5, '穴子さん', '男性',27);
-- fetch some values
SELECT * FROM sazaefamily WHERE gender = '女性';
SELECT * FROM sazaefamily;
SELECT * FROM sazaefamily WHERE age>=25;

この表から25歳以上を抽出致します。

SELECT * FROM sazaefamily WHERE age>=25;

を追記して実行すると、テーブルイメージでは

という抽出がされて、右側の実行画面では、

の様になっております。
前回までの復習はここまでです。


今回は、主キーのidが「4」のワカメちゃんの名前の列のみを抽出してみます。

SELECT name FROM sazaefamily WHERE id=4;

右側の実行結果です。

次に、名前に「野」が付くキャラクターを抽出致します。

SELECT name FROM sazaefamily WHERE name LIKE '%野%';

「%」はワイルドカードと言って、「ある文字を含む名前」を抽出出来ます。

イメージと結果です。

次は、名前と年齢の列のみで15歳未満のキャラクターを抽出致します。

SELECT name,age FROM sazaefamily WHERE age<15;

イメージと結果です。

最後に、年齢が高い順に並べます。

SELECT name,age FROM sazaefamily ORDER BY age DESC;

イメージと実行結果です。

ここまでのコードをまとめます。

-- create a table
CREATE TABLE sazaefamily (
  id INTEGER PRIMARY KEY,
  name TEXT NOT NULL,
  gender TEXT NOT NULL,
  age INTEGER NOT NULL
);
-- insert some values
INSERT INTO sazaefamily VALUES (1, '磯野波平', '男性',54);
INSERT INTO sazaefamily VALUES (2, 'フグ田サザエ', '女性',24);
INSERT INTO sazaefamily VALUES (3, '磯野カツオ', '男性',11);
INSERT INTO sazaefamily VALUES (4, '磯野ワカメ', '女性',9);
INSERT INTO sazaefamily VALUES (5, '穴子さん', '男性',27);
-- fetch some values
SELECT * FROM sazaefamily WHERE gender = '女性';
SELECT * FROM sazaefamily;
SELECT * FROM sazaefamily WHERE age>=25;
SELECT name FROM sazaefamily WHERE id=4;
SELECT name FROM sazaefamily WHERE name LIKE '%野%';
SELECT name,age FROM sazaefamily WHERE age<15;
SELECT name,age FROM sazaefamily ORDER BY age DESC;

お疲れ様でした。ブレイクタイムPhotoは、

千葉県 房総半島 外房 御宿の海です。

→ブラウザだけでMySQLを即学習【サザエさん】その4へ

(次で最後です。)


【オススメ入門書】
「いちばんやさしい SQL入門教室」
ソフトカバー
Kindle版

MySQL自作サンプル集へ戻る

自己紹介ページ


写真クリエイターとしての活動

ブラウザだけでMySQLを即学習【サザエさんの例 その2】|キャラクターの追加と年齢の列追加|WHEREで25歳以上を抽出

この記事では、ブラウザだけでMySQLを即学習【サザエさんの例 その1】の続きですので、まずはそちらをご覧くださいませ。

使用ブラウザはmyCompilerのMySQLを使っています。

前回までの表のイメージです。

現在、ブラウザのMySQLの左側の画面はこの様なコードが入っています。

-- create a table
CREATE TABLE sazaefamily (
  id INTEGER PRIMARY KEY,
  name TEXT NOT NULL,
  gender TEXT NOT NULL
);
-- insert some values
INSERT INTO sazaefamily VALUES (1, '磯野波平', '男性');
INSERT INTO sazaefamily VALUES (2, 'フグ田サザエ', '女性');
-- fetch some values
SELECT * FROM sazaefamily WHERE gender = '女性';

右側の実行を押したイメージと実行結果です。

上の表から「女性」のみを抽出して、

この様な抽出結果のイメージになり、右側の実行を押すと、

この様に実行されました。
前回の復習は以上です。



キャラクターが2人だけなので、INSERT INTO sazaefamily で表にキャラクターを足して行きます。

ここで便利なショートカットキーは、既にあるキャラクターの行にカーソルがある状態で、[Alt]+[Shift]+[↓]を押すと複製出来て他のキャラクターを追加出来ます。

Macの方は[Alt]の代わりに[option]を押してみて下さい。

また、[Shift]を押さないと、移動になります。

完成形は、この様なイメージの表を作ります。
(穴子さんは私の推しです (笑) )

データ追加部分のコードです。

-- insert some values
INSERT INTO sazaefamily VALUES (1, '磯野波平', '男性');
INSERT INTO sazaefamily VALUES (2, 'フグ田サザエ', '女性');
INSERT INTO sazaefamily VALUES (3, '磯野カツオ', '男性');
INSERT INTO sazaefamily VALUES (4, '磯野ワカメ', '女性');
INSERT INTO sazaefamily VALUES (5, '穴子さん', '男性');

この状態で実行を押してみます。
実行結果のイメージと結果です。

ここで、表全体を表示してみます。
SELECTと入力するとき、大文字で「SE」ぐらいまで入力して[Enter]を押すと入力がスムーズです。

-- fetch some values
SELECT * FROM sazaefamily WHERE gender = '女性';
SELECT * FROM sazaefamily;

実行結果です。
追加したキャラクターも表示されました。

次に、年齢の列を作ります。
まず、表の完成イメージです。

まずは、列「age」を加える、テーブル作成部分のコードです。
6行目に列を追加のコードを掲載しました。
INTEGERも大文字で「IN」ぐらいまで入力して、[Enter]を押すとスムーズに入力出来ます。

-- create a table
CREATE TABLE sazaefamily (
  id INTEGER PRIMARY KEY,
  name TEXT NOT NULL,
  gender TEXT NOT NULL,
  age INTEGER NOT NULL
);

注意!5行目の「gender」の行の最後に「,(カンマ)」を入力して下さい。

また、年齢を入力するコードです。

-- insert some values
INSERT INTO sazaefamily VALUES (1, '磯野波平', '男性',54);
INSERT INTO sazaefamily VALUES (2, 'フグ田サザエ', '女性',24);
INSERT INTO sazaefamily VALUES (3, '磯野カツオ', '男性',11);
INSERT INTO sazaefamily VALUES (4, '磯野ワカメ', '女性',9);
INSERT INTO sazaefamily VALUES (5, '穴子さん', '男性',27);

実行して、表が作れたことを確認します。

それでは最後に、25歳以上のキャラクターを表示してみます。

-- fetch some values
SELECT * FROM sazaefamily WHERE gender = '女性';
SELECT * FROM sazaefamily;
SELECT * FROM sazaefamily WHERE age>=25;

実行結果のイメージと画面です。

ここまでのコードはこちらになります。

-- create a table
CREATE TABLE sazaefamily (
  id INTEGER PRIMARY KEY,
  name TEXT NOT NULL,
  gender TEXT NOT NULL,
  age INTEGER NOT NULL
);
-- insert some values
INSERT INTO sazaefamily VALUES (1, '磯野波平', '男性',54);
INSERT INTO sazaefamily VALUES (2, 'フグ田サザエ', '女性',24);
INSERT INTO sazaefamily VALUES (3, '磯野カツオ', '男性',11);
INSERT INTO sazaefamily VALUES (4, '磯野ワカメ', '女性',9);
INSERT INTO sazaefamily VALUES (5, '穴子さん', '男性',27);
-- fetch some values
SELECT * FROM sazaefamily WHERE gender = '女性';
SELECT * FROM sazaefamily;
SELECT * FROM sazaefamily WHERE age>=25;

お疲れ様でした。ブレイクタイムPhotoは、

清瀬ひまわりフェスティバルのひまわりです。

→ブラウザだけでMySQLを即学習【サザエさん】その3へ


【オススメ入門書】
「いちばんやさしい SQL入門教室」
ソフトカバー
Kindle版

MySQL自作サンプル集へ戻る

自己紹介ページ


写真クリエイターとしての活動

ブラウザだけでMySQLを即学習 サンプルを利用して【サザエさん】の例|入門書の紹介も。

この記事では、オンラインIDEのブラウザに元から入っているサンプルを利用して、MySQLをスグに学習出来る内容と、本格的に勉強したい方向けの入門書を紹介しております。

使用するブラウザは、こちらのmyCompilerのMySQLの画面を使っていて、元々入力されているサンプルのコードをサザエさんの例に少しずつ書き換えながらMySQLの入門を習得して行きます。

画面の左側に、この様なコードが書かれています。

2025年7月現在の画面ですので、内容が変わっている方はこちらからペーストしてみて下さい。

-- create a table
CREATE TABLE students (
  id INTEGER PRIMARY KEY,
  name TEXT NOT NULL,
  gender TEXT NOT NULL
);
-- insert some values
INSERT INTO students VALUES (1, 'Ryan', 'M');
INSERT INTO students VALUES (2, 'Joanna', 'F');
-- fetch some values
SELECT * FROM students WHERE gender = 'F';

一方右側の画面で緑の「コードを実行」を押すと、

この様に実行されます。

これは、テーブルの中から女性(ジェンダー「gender」が「F」のJoannaさん)の行を抽出した結果です。

ここから部分的にコードを見て、表のイメージと対応させて行きます。

コードのテーブルを作成する部分から見て行きます。

-- create a table
CREATE TABLE students (
  id INTEGER PRIMARY KEY,
  name TEXT NOT NULL,
  gender TEXT NOT NULL
);

この部分で、表「students(学生さん)」を作っています。
イメージはこんな感じの表です。

idの行の所にPRIMARY KEYと書かれていて、主キーに設定されています。
nameの列とgenderの列を設定して、空欄にはしない様に設定しています

では、テーブルにデータを入力する部分を見て行きます。

-- insert some values
INSERT INTO students VALUES (1, 'Ryan', 'M');
INSERT INTO students VALUES (2, 'Joanna', 'F');

この部分のイメージは、この様な表になっています。
INSERT INTO 表の名前 VALUESで、表にデータを入力しています

最後に、条件にあった行(レコード)を抽出するコードを見て行きます。

-- fetch some values
SELECT * FROM students WHERE gender = 'F';

SELECT *で、表の全ての列、表はstudentsで、性別が女性(F)のデータを抽出しました。

そのイメージの表です。


ここまでで、なんとなくMySQLが掴めましたが、外人さんの名前は私には良く分からないので、国民的アニメのサザエさんのキャラクターに表を書き換えて行きます。

テーブル名も「student」から「sazaefamily」に変えました。

まず、テーブルを作成する部分ですが、

-- create a table
CREATE TABLE sazaefamily (
  id INTEGER PRIMARY KEY,
  name TEXT NOT NULL,
  gender TEXT NOT NULL
);

2行目の「テーブル名のみ」を変えました。

次にデータの入力部分ですが、

-- insert some values
INSERT INTO sazaefamily VALUES (1, '磯野波平', '男性');
INSERT INTO sazaefamily VALUES (2, 'フグ田サザエ', '女性');

と、INSERT INTO の後の表の所を「sazaefamily」に、人物名を波平さんとサザエさんに書き換え、性別も日本語にしました。

ここまでで、こんな感じの表が出来ています。

最後に表の条件を指定して抽出する箇所を書き換えます。
SELECT * FROM の後を 「sazaefamily 」に書き換えて、性別を「F」から「女性」に書き換えました。

-- fetch some values
SELECT * FROM sazaefamily WHERE gender = '女性';

これで実行をすると、画面右側にサザエさんの行だけが抽出されます。
表イメージと実行結果です。

では、「実行」を押してみます。

無事に実行出来ました。

ここまでのコードをまとめます。

-- create a table
CREATE TABLE sazaefamily (
  id INTEGER PRIMARY KEY,
  name TEXT NOT NULL,
  gender TEXT NOT NULL
);
-- insert some values
INSERT INTO sazaefamily VALUES (1, '磯野波平', '男性');
INSERT INTO sazaefamily VALUES (2, 'フグ田サザエ', '女性');
-- fetch some values
SELECT * FROM sazaefamily WHERE gender = '女性';

では、このデータベースを保存します。

画面上部のコードの上の所に「サザエさんでMySQLの練習」などの自分が分かるようなタイトルを入れます。(タイトルを入れないと保存出来ない仕様になっています)

右側の「コードを保存」を押します。

ブラウザのタブを閉じて、再度開きます。
コード上部の黒い所の右側の「最近」をクリックします。

「このサイトを離れる」を選択して、先程の保存の際に付けた名前をクリックします。

このままですと編集ができないので、「コピーを作成」をクリックします。

すると、編集が出来るようになりました。

ただ、このブラウザを使うユーザー数が多いので、使い慣れているメモ帳などのテキストエディタに貼り付けて保存して置いた方が次回からの学習がやり易いです。

コピー作成の右隣の青いボタンに、ダウンロードやリンクのコピーもあるので、読者様が一番手軽に感じる保存方法が望ましいです。

お疲れ様でした。ブレイクタイムPhotoは、



→ブラウザだけでMySQLを即学習【サザエさん】その2へ

次の項目では、本格的に勉強したい方向けの本を紹介致します。


【オススメ入門書】
「いちばんやさしい SQL入門教室」
ソフトカバー
Kindle版

MySQLの勉強に使うエディターは、
https://www.mysql.com/jp/
から、ダウンロード出来ます。

そのダウンロードの仕方から基礎文法まで分かりやすく学習出来ます。

インストールが終わると、
この画面でパスワードを入れて使います。

本に書いてあるパスワードを入れます。

すると、このような画面が表示されます。

この本に沿って、データベースにテーブルを2つ作成する所まで行きましたが、エラー祭りでした。

● 文字列のシングルクォーテーション(‘)を、ダブルクォーテーションにしてしまった。

● テーブル(table)のつづりを間違えた!(これは、中学1年生レベルですね。)

こういったエラーがありました。
皆さまは、こんなことしないように気を付けて下さい。

この本のChapter1まで終わりました。
私でもどうにかここまで終えたので、この本、かなりおススメだと思います。


お疲れ様でした。ブレイクタイムPhotoは、

千葉県 房総半島、外房、御宿の海です。

MySQL自作サンプル集へ戻る

自己紹介ページ


写真クリエイターとしての活動

モバイルバージョンを終了