この記事では、ブラウザmyCompilerのMySQLを用いて、元々入力されているサンプルから、サザエさんを例に学習するサンプルを作成致しました。
また、本格的に勉強したい方向けに入門書の紹介をしております。
ブラウザでMySQLを早速学習開始(サザエさんの例)
SQLで反撃開始データベース作成!!
SQLで条件抽出攻撃開始!!
SQLで武器の情報をみてみよう
ブラウザだけで簡単にMySQLが学習出来るサイトの紹介と本の紹介
この記事では、ブラウザmyCompilerのMySQLを用いて、元々入力されているサンプルから、サザエさんを例に学習するサンプルを作成致しました。
また、本格的に勉強したい方向けに入門書の紹介をしております。
ブラウザでMySQLを早速学習開始(サザエさんの例)
SQLで反撃開始データベース作成!!
SQLで条件抽出攻撃開始!!
SQLで武器の情報をみてみよう
SQL自作サンプル集へ
基本情報技術者試験トップへ
これからプログラミングを始める方へ
資格トップへ
今日は、闘いに備えて、
武器の威力の平均・最大値などを求めて見ます。
まず、データベースを選択して、
武器の表Weaponを表示します。
これらの武器の最大の威力は「ジャイアンの歌」の100、
最小は「へ(屁)」の3、全てのデータ件数は5件、
匂い系の武器は「へ」と「正◎丸」の2件、
威力が6以上は、「かみなりビーム」、「ジャイアンの歌」、
「正◎丸」の3件、
平均(24.2)より大きいのは、 「ジャイアンの歌」のみです。
これらをSQLで取り出して見ます。
バカなことやっているようですが、
個人的には勉強になっています(=^・^=)
まず、power(威力)の合計と平均を求めて見ます。
select sum(power),avg(power) from Weapon;
最大と最小を求めます。
select max(power),min(power) from Weapon;
件数を求めます。
select count(*) from Weapon;
匂い(smellのsme)系統の武器を求めます。
select name,type_id from Weapon where type_id=’sme’;
匂い(smellのsme)系統の武器の件数を求めます。
select count(type_id) from Weapon where type_id=’sme’;
power(威力)が6以上の件数を求めます。
select count(power) from Weapon where power>=6;
最後に、威力が平均以上の武器の名前と威力を表示させます。
select name,power from Weapon where power >= (select avg(power) from Weapon);
お疲れ様でした。
SQL自作サンプル集へ
基本情報技術者試験トップへ
これからプログラミングを始める方へ
資格トップへ
身近にこういう人いませんか?
こういう人にお灸をすえましょう。
前回作った武器の表Weaponを表示します。
select * from Weapon;
何で攻撃しようかな。
わくわく(=^・^=)
最初は「へ」をぶっかけてやりましょう。
「’」(シングルクォーテーション)で囲みます。
select name from Weapon where buki_id=’B0004′;
次に、名前に「◎」が付く攻撃をしましょう。
select name from Weapon where name like ‘%◎%’;
「%」はワイルドカードっていって、
「◎」を含むなどを指定できます。
次は、威力が6以上の武器を使います。
select name,power from Weapon where power>=6;
最後に、威力が大きい順に並べます。
select name,power from Weapon order by power desc;
次回は集約関数を使ってみます。
SQL自作サンプル集へ
基本情報技術者試験トップへ
これからプログラミングを始める方へ
資格トップへ
SQLを使って、嫌なヤツを反撃せよ!!
現実的に、人を武器で攻撃するわけには
行きませんので、データベースを使って、
憎いヤツの攻撃をするイメージで
表を作成します。
hangekikaishi(反撃開始)というデータベースの中に、
武器を格納する倉庫のような表Weaponなどを作成します。
①まず最初にデータベースを作成します。
create database hangekikaishi;
②作ったデータベースの確認をします。
show databases;
③今作ったデータベースを早速使います。
use hangekikaishi;
この中に、攻撃するための武器を格納します。
う◎こ爆弾、投げる系、威力5
といった表のイメージです。
buki_id(武器ID)を、商品番号みたいな感じで
主キー(他の列を指定できる、一番エライ列)にします。
このIDはBOOO1のようにするので、5文字にします。
name(名称)武器の名前は10文字以内にします。
type_id(タイプID)は、投げるだったら英語で
throwなので、先頭の3文字を取ってthrというように
するので、3文字にします。
power(威力)は整数型です。
データ型はこのように指定しました。
今度は投げる系、打つ系、騒音系、匂い系などの
タイプを登録する表Shubetsuを作ります。
タイプIDで、2つの表を関連付けます。
タイプの名前も10文字以内にします。
データ型はこのように指定しました。
2つの表は、Type_idで、このようなイメージで関連付けられます。
では、この2つの表を登録します。
まずは、Weaponを登録します。
create table Weapon(
buki_id char(5) not null,
name varchar(10) not null,
type_id char(3),
power int,
primary key(buki_id)
);
次に、Shubetsuを登録します。
create table Shubetsu(
type_id char(3),
tyname varchar(10)
);
表に、武器と種別のそれぞれのデータを登録します。
insert into Weapon
values (‘B0001′,’う◎こ爆弾’,
‘thr’,5);
insert into Weapon
values (‘B0002′,’かみなりビーム’,
‘hit’,7);
insert into Weapon
values (‘B0003′,’ジャイアンの歌’,
‘noi’,100);
insert into Weapon
values (‘B0004′,’へ’,
‘sme’,3);
insert into Weapon
values (‘B0005′,’正◎丸’,
‘sme’,6);
では、登録した表Weaponを確認します。
select * from Weapon;
次に、Shubetsuにデータを登録します。
insert into Shubetsu
value(‘thr’,’投げる’);
insert into Shubetsu
value(‘hit’,’打つ’);
insert into Shubetsu
value(‘noi’,’騒音攻撃’);
insert into Shubetsu
value(‘sme’,’匂い攻撃’);
これも、確認します。
select * from Shubetsu;
最後に、この2つの表を、type_idで関連付けます。
select Weapon.name,
Weapon.type_id,
Shubetsu.tyname
from Weapon,Shubetsu
where Weapon.type_id=Shubetsu.type_id;
お疲れ様でした。
次回からデータを取り出します。
この記事では、ブラウザのサンプルを利用して、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';
一方右側の画面で「コードを実行」を押すと、
この様になっています。
簡単に書くと、テーブルの中から女性(ジェンダーが「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が掴めましたが、外人さんの名前は私には良く分からないので、国民的アニメのサザエさんのキャラクターに表を書き換えて行きます。
まず、テーブルを作成する部分ですが、
-- create a table
CREATE TABLE sazaefamily (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
gender TEXT NOT NULL
);
と、テーブル名を「student」から「saszaefamily」に変えました。
次にデータの入力部分ですが、
-- insert some values
INSERT INTO sazaefamily VALUES (1, '磯野波平', '男性');
INSERT INTO sazaefamily VALUES (2, 'フグ田サザエ', '女性');
と、表を「sazaefamily」に、人物名を波平さんとサザエさんに書き換え、性別も日本語にしました。
ここまでで、こんな感じの表が出来ています。
最後に表の条件を指定して抽出する箇所を書き換えます。
-- 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の練習」などの自分が分かるようなタイトルを入れます。(タイトルを入れないと保存出来ない仕様になっています)
右側の「コードを保存」を押します。
ブラウザのタブを閉じて、再度開きます。
コード上部の黒い所の右側の「最近」をクリックします。
「このサイトを離れる」を選択して、先程の保存の際に付けた名前をクリックします。
このままですと編集ができないので、「コピーを作成」をクリックします。
すると、編集が出来るようになりました。
お疲れ様でした。
この記事でのブラウザを使った入門編は以上になります。
次の項目で本格的に勉強したい方向けの本を紹介致します。
「いちばんやさしい SQL入門教室」
ソフトカバー
Kindle版
MySQLの勉強に使うエディターは、
https://www.mysql.com/jp/
から、ダウンロード出来ます。
そのダウンロードの仕方から基礎文法まで分かりやすく学習出来ます。
インストールが終わると、
この画面でパスワードを入れて使います。
本に書いてあるパスワードを入れます。
すると、このような画面が表示されます。
この本に沿って、データベースにテーブルを2つ
作成する所まで行きました。
エラー祭りでした。
● 文字列のシングルクォーテーション(‘)を、
ダブルクォーテーションにしてしまった。
● テーブル(table)のつづりを間違えた!
(これは、中学1年生レベルですね。)
こういったエラーがありました。
皆さまは、こんなことしないように、
気を付けて下さい。
この本のChapter1まで終わりました。
私でもどうにかここまで終えたので、
この本、かなりおススメだと思います。
この本を1巡したら、SQLのサンプルデータを
作ってアウトプットしたいです。
お疲れ様でした。
ブレイクタイムフォトは
千葉県 房総半島、外房、御宿の海です。