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

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

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

<<学習メニュー>>

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

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

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

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


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


自己紹介

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

プログラミングを何度も挫折されてお悩みの方〜これからプログラミングを始められる方へ

この記事は、「プログラミング初学者」の私の立場から、「プログラミング入門者」の方、挫折したけれど今日からまたプログラミングプログラミングに再挑戦したいに向けて、届けたいメッセージをを中心に書いています。

想定している読者様は、

●これからプログラミングを始められる方

●(何度か)挫折してしまったが、もう一度、もう2度・・・リトライされたい方

に向けて、下記点で書かせて頂きます。


以上、宜しくお願いします。


Webサイトを作りたいから、HTML / CSS / JavaScriptをやりたい、など、作りたいものが先にあって、目的が明確な分、それに必要な言語を学ぶとモチベーションが高まり挫折しにくくなります。

とはいえ、自分探しが中々進展せず、一体私は何がしたいのだろう・・・と良く悩みを抱えています。そこで、次の項目では、

・自分のやりたいことが分からない方

・コーディングが難しくて色々な英語や数字が出てきて混乱して学習に躓いて困っていらっしゃる方

・プログラミング学習が「写経」になって楽しく無い方

に向けて書かせて頂きます。


自分のやりたいことが分からないというのは、決して自己分析が出来ていないからなどではなく、自分の気持ちが分からなくなるほど周囲の方を優先してきた心優しい方達です。なので、決して自分を責めないで下さい。

また、プログラミングは難しい英語や数字が出てきて初学者にはハードルが高いので、ついつい「写経」になってしまいます。

そういったことでお悩みの方は、ブロックを置いてプログラミングを行う、お子さま向けのプログラミング教育でも使われる、スクラッチがオススメです。

ブロックを置いてキャラクターを動かせるので、達成感や楽しさがすぐに味わえてモチベーションに繋がります。

ミニゲームを作りながらプログラミングで必要な分岐処理やループ(繰り返し)なども遊びながら学べます。

私の場合は基礎学力の不足も挫折の原因でしたので、ミニゲームと国語や算数などをキャラクターを動かしながら学べる下記の本を購入した所、楽しみが増えました。

スクラッチプログラミング事例大全集

親子でかんたんスクラッチプログラミングの図鑑

これらの本でスクラッチを学ぶことは気分転換にもなりますし、いざやりたいことが見つかった時の為に、プログラミングの学習準備はスクラッチで整えられ、もしも見つからなくても、脳トレにはなるので老後の認知症対策に備えられそうです。

なんの才能もない発達障害者の声
この本は私が書いた本で発達障害を中心の内容ですが、スクラッチの自作サンプルを2つ程作成致しました。

もしもどうしてもプログラミング学習が辛くなってしまった場合は、心がラクになる本を紹介している記事をご覧下さいませ。


プログラミング学習において、「Hello World」などの文字を、C言語でしたらprintf文、Pythonはprint文、JavaScriptはconsole.logやalert、HTLMではpタグやh1タグなどのタグを用いて出力をする機会が相当多いでしょう。そこで、

「私は天才プログラマー!!!!!!」
「俺は超イケメンで女にモテまくり!!」
「私はめちゃめちゃ美人で可愛い!!」
「私はキムタクと超ラブラブ!!」

橋本環奈は俺の嫁!!

など、出力文に自分を褒める言葉や、好きな方とリア充ラブラブになるような言葉を入れてみましょう。
それを何度も繰り返すことで、自分に自信が付きますし、幸せで楽しい気分になれます。

プログラミング学習は、頭脳よりも「どれだけ折れない心を持って自信を付けて保って、更にアップしていくか」が大事です。
キムタク(=木村拓哉さん)や、橋本環奈さんに限らず、好きな芸能人や、または絶対人に見られないのであれば、学校や塾、バイト先、職場で好きな人の名前を入れてもOKです。

定数や変数に例えばGAS(Google Apps Script)やJavaScriptでしたら、

const genius='【私は天才プログラマー!!!!!】';

などとして、console.logを使うタイミングで、定数geniusをテキストの文字列に「+」で連結して表示させると便利かも知れません。
そうすることで、「受け身」から「能動的な学習」に変わって行きます。
私は、この定数geniusをグローバル領域に定義しています。

人前で「私は美人で可愛い」、「俺、超イケメン!」なんて言ったら、「この人危ない人かも・・・」って思われるてしまいますが、自分のプログラミング学習の環境で、人の目に触れないのであれば、あなたはいくらでも自分のことを褒めて、自信を持っても良い方だと思います。

これから先、printf文、print文、console.log、alert、pタグ、h1タグなどのタグはいくらでも出てくるので、そこで可能な限り自分自身を褒める、ハッピーな気分になれるメッセージを入れて、単調な文法でも出来る限り遊びの要素を取り入れて楽しんで勉強してみて下さい。

これは、単なる「おまじない」に止まらず、以下のような効果があることを、基本情報技術者試験アルゴリズムの正答率が88%取得した者の意見として申します。

頭の中で変数、定数の値を自然に追えるようになり、ループの中でどう動くのか、条件分岐ではどっちに分岐するのか、どの関数(メソッド)に引数が入って、戻り値はどのようになり、実行結果にどのような影響を及ぼすのか、プログラムの流れをトレースする習慣が自然と身に付くのです。

プログラミングとトレースは切っても切れない関係なので、本を写経しているだけだと、自分のスキルが付いているのか自信がない・・・という方は、是非とも自分褒めメッセージをプログラムの中に組み込んで、積極的にプログラムをトレースする習慣を付けて下さい。

また、そのことを実行前に行うと、事前にエラーを発見しやすくなるというメリットまで得ることが出来ます!!これは、プログラミング学習を効率よく進めやすくなる効果まで発揮できることになります!!
(エラー文を調べることで、人は成長するのは分かりますけれど、出来る限り、サクサク学習を進めたいですよね。)

子どもの頃から、「スクラッチ」などのプログラミング言語を始めている今の子どもたちは、プログラミングが出来ると、先生やパパさんママさんから沢山褒められるかと思います。

しかし、子どもの頃にプログラミングに触れる機会が全く無い環境で育って、大人になってからプログラミングを始めると、褒められて伸びると言う機会は子どもに比べて極端に少なくなります。

そうすると、学校でプログラミングが学べる環境の子どもたちと、大人になってからプログラミングを始めた私たち昭和生まれの中高年とでは、ますます差が開くばかりです。なので、プログラミングの学習を通して、可能な限り自分で自分を褒めて伸ばしてあげて下さい。(世の中冷たいもので、頑張って勉強していても、現実は誰も褒めてなんてくれませんから・・・。)

先ほど、基本情報技術者試験の話をしましたが、私は基本的にはプログラミングに資格は必要ないと考えています。興味のある方はこちらの記事をご覧ください。

※ スクラッチを本など独学で始めるのに「年齢は関係ない」ので、昭和生まれの私もキャラクターを動かしながらゲーム感覚で勉強をしています ※


プログラミングの学習方法の中でも最も敷居が低い勉強法は、学習コンテンツによる動画レッスンです。その中でもドットインストールpaizaラーニングについて簡単に比較してみます。

●paizaラーニングが向いている方
・特に「この言語」と決めていない
・環境構築無しで色々な言語を試してみたい

・アニメのキャラクターと楽しく勉強したい
・問題集やスキルチェックに挑戦して技術を磨き向上させたい
・エンジニアとして正社員でスカウトをもらって働きたい

paizaラーニングについて補足しますと、動画学習では演習課題があり、スキルチェックではDランクからSランクまでランクアップを目指せる様々な実践問題や、スキルチェックに挑戦するのに「計算ドリル」のような感覚でコードを書いて学べる、「レベルアップ問題集」も用意されています。

関連記事:paizaレベルアップ問題集をPythonとGASの両方で解いてみた集

●ドットインストールが向いている方
・具体的に学習するプログラミング言語を決めている
・環境構築がある程度済んでいる
・1回3分程度の短い動画で効率よく学びたい
・副業やフリーランスとして稼げるようになりたい
・ポートフォリオの作り方を学び、実務にいち早く活かしたい

paizaラーニング、ドットインストールの両方に共通していることは、「無料レッスン」があることです。この記事を読んでも、私の文章力不足の為、どっちが自分に合うのか正直分からない方もいらっしゃると思います。両方の無料レッスンを受けてみて、こっちかな、と思う方に決めるという手もあります。

関連記事:ドットインストールの学習ロードマップとレッスンの感想

また、自分のPCに環境構築をする手間もを省く為に、Web上で無料ですぐにコードが書けるIDEという開発環境もございます。
paizaにもありますし、他にも「ブラウザでプログラミング 無料 IDE」などで検索すると、いくつか見つかりましたので、自分に合いそうなものでしたら続きそうです。


プログラミングは暗記ではない、という意見を多く見かけます。
とは言え、全く覚えないとコードが書けないので、入門書でプログラミングの模写をする前に、「これは何をするプログラミングなのか」を1〜2行程度の短いコメントで書くようにしました。

例えば「文字列を検索して下線を引く処理」など、何をするプログラミングなのか、コードを書く直前にコメントで書いてから、実際に入門書の模写コーディングをしました。

また、ノートを取るのではなく、私が知らないメソッドやオブジェクトが出てきたら、例えば、「getName()は名前を取得するメソッド」などと短いコメントを入れるようにしました。ノートを取る代わりに、コメントにメモ書きというふうに学習方法を変えました。

コメントを書く際、きっちりコメントを書くというよりも、「自分が分かる最小限のコメント文でメモ感覚でまとめて、コメントにかける労力を最小限にして、その分を”思考して理解をすること” に回す」ようにしています。

もしもどうしてもノートの様にまとめたい場合は、Googleドキュメントが私には便利でした。


ドットインストールやpaizaラーニングなどの動画の講義を終えましたら、実際に本を買う段階になるかと思います。

まず、プログラミングの本を紹介する前に、ブックスタンドを紹介します。
(デュアルデスプレイを使う方はそれでも良いと思います。)
プログラミングをやっているとずっと座りっぱなしなので、適宜ストレッチをしていますが、パソコンで入力して本を見て・・・となると結構疲れるのでブックスタンドを紹介します。

これ、手前の金具にゴムがついていてストッパーになっていて、本を抑えることが出来るんです。これでプログラミングが捗りました。

表側はこんな感じです。
本の著作権があるので、カバーを向けています。

独習Python
Kindle版
単行本(ソフトカバー)

また、Googleドキュメントに覚えたことをノートとしてまとめて学習しております。


たまにX(旧Twitter)などのSNSで見かける、いわゆる「意識高い系」のプログラミングの先輩の「初心者を不安にさせるアドバイス(??それとも自慢??)」について、「プログラミング初心者から見た意識高い系の先輩はどう見えるのか」について書かせて頂きます。

「本でコードを模写するよりも、自分で何かアプリを作って、検索(ググりながら)勉強した方が実力が付く」などとX(旧Twitter)で呟いている先輩学習者もいます。

しかし、プログラミングを始めたばかりの方は、入門書やドットインストールなどの学習コンテンツの通りに動かすだけで、一杯一杯でヘトヘトなかつての私のような方もいます。

そんな時、「本を写しているだけの私はダメなんだ・・・」って落ち込んでしまったこともありましたが、そういう先輩は大きなお世話だ!!って今となっては断言できます。

初心者に自慢して、マウントを取りたいだけでしょうか?
それはアドバイスではなく、クソバイスです。
そんな時間があったら、自分のスキルを磨きましょう。

マウント取りアドバイスのもう一つに、「学習コンテンツを何回も回っていないで、さっさと成果物を作れ!」というのもあります。

1番良く無いのが、「プログラミング学習をやめてしまうこと」なので、自分が納得して続けられる方法でないと勉強がしんどくなってしまいます。
(体調が悪い時は、勿論プログラミング学習をお休みして必要でしたら医療機関を受診されて下さい。)

その他、スランプや家庭の事情などで、プログラミング学習を中断してしまうことは仕方のないことですが、そうでないなら、なるべく自分に合った無理なく納得の行く方法で学習を続けることが望ましいです。

また、print文などの出力を覚えたての人に、「そこは関数を使ってこう書くとスムーズになる」と言われるのも、初心者の立場からしたら勘弁して欲しいです。

確かに基礎文法をある程度習得するとその通りだと納得するのですが、初心者の段階ではそのアドバイスでは混乱するだけですし、初心者にとっては、print文を書いてそのコードを人前に晒すだけでも、物凄い勇気のいることなんです。混乱によって挫折のリスクも高まるかも知れません・・・。

「あ、この人、初心者ながら頑張っているんだな・・・」と余計なことを言わず、温かい目で見てあげて下さい。
そうすると、必ず基礎文法を習得して、関数を使って処理をまとめて呼び出すことや引数を自在に使って出力結果を変えることも自分で出来るようになりますから。

プログラミングに限らず、スポーツでもダンスでも楽器でも、その段階、段階に応じて、必要な工程が異なります。

今の自分の段階、レベルに合った方法で学んでいくことが最も挫折しずらいですし、そういう余計なことを言う先輩のせいでプログラミングに挫折してしまうのは余りにも勿体無いと思います。

なので、プログラミングの先輩方に初心者の私から申し上げたいとは、余計なアドバイスをせずに「温かい目で見守ってあげること」が、最も成長を促すのではないかと私は思います。

くどいようですが、アドバイスは「段階に応じて」異なって来ます。
先輩方は初心者を見て、色々言いたくなるかも知れませんが、その時間をあなたのスキルアップにした方が、プログラミングの挫折者を減らすと思います。

(挫折させたくて言っているのだとしたら、そう言う先輩は、プログラミグの前に「道徳」を学んで下さい。)

関連記事:プログラミング学習で関わってはいけない人と逃げるべき環境

あとは、ちょっと余談ですが、プログラミングに限らずWebデザイン系、Photoshop、などフリーランスに関するYouTuberの方って、胡散臭い方もいますよね(笑)
動画のサムネが過激で、

・その勉強法では稼げない

・失敗する人の特徴


・やってはいけない勉強法

・いつまで勉強してんの!?

みたいな。

一旦、深呼吸して下さい!

サムネが過激な方は警戒しましょう。


本当に実力があれば、サムネはシンプルで伝えやすくて視聴者さんが希望を持てるような内容にすると思うんです。

なので、これから本と並行して動画も見てPhotoshopの勉強をしていくことになりますが、サムネが過激な人や私のモチベーションを下げて絶望させるような動画投稿者、インフルエンサー、自称成功者には騙されないように気をつけたいと思います。

特に、この界隈の勉強をされる方には、絶対に詐欺に遭ってほしく無いので、消費生活センターのリンクを貼りました。

私も十分気をつけながら勉強をして経済的に自立出来るよう頑張りますが、皆様もくれぐれも変な人に騙されないように気をつけて下さい!

また、ある方の動画では、「勉強沼」についての解説がありました。
勉強沼とは、勉強ばかりして稼いでいない状態のことです。
そこを抜け出して稼げる様になりましょうという内容でした。

それが良いのかどうなのか分かりませんが、私には「急かされている、煽られている」様な気がして、パニックになって呼吸が苦しくなり、具合が悪くなりました。
なので、自分のメンタルや体調を崩すような情報は見ない様にしています。

急かされることで実力を発揮出来る人は、そのアドバイスに従って行けば、ドンドン稼げる様になるでしょう。

しかし、世の中そういう人ばかりではありません。

その勉強沼とは、ゴルフのバンカーの様なもので、バンカーから出ようともがけばもがく程、抜け出せそうな気がしてなりません。

だったらむしろ、その勉強沼を「温泉」だと思って、リラックスしてゆっくり浸かって、泉質を楽しんでみては如何でしょうか。

楽しんだ方が勉強の能率が上がって、むしろ気が付いていたら勉強沼(勉強温泉)を抜け出して美味しく牛乳を飲んで稼いでいた、なんてこともあるかも知れませんし、その方が私の特性や性格には向いているような気がします。

焦らせられると不安になったり体調を崩したりする私に近い方は、絶対に無理しないで地道にコツコツとマイペースが1番なのではと、私は思いました。

勿論、これって「ただの私の感想」ですので、そういう人もいるんだぐらいで、サラッと流して頂いても構いません。

ここまでご精読、誠にありがとうございました。
皆さまのプログラミング学習にお役立て出来ましたら幸いでございます。

私も、頑張ります!!!

プログラミングのアンケートにご協力頂ける方はこちらのフォームで勉強法など色々と教えて下さい。

ポートフォリオを作成しました。

自己紹介

メインメニューに戻る
プログラミング学習で関わってはいけない人達と逃げるべき環
プログラミングと資格について  

ブラウザだけで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自作サンプル集へ戻る

自己紹介ページ


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

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