【phpMyAdmin】独学でSQLを学ぶ方法 – サンプルデータの準備 –

Contents (目次)

SQLを実行するためのサンプルデータが必要

誰でも使えるサンプルデータ

SQLを勉強するのにまず必要になってくるのが、環境の準備とSQLで実際にデータを取得したりする際に使用するサンプルデータになります。勉強するために、良いサンプルデータが欲しい…など考えたことがある方はきっと多いのではないかと思います。

そこで、今回はChatGPTやGeminiを利用して簡単にSQLを勉強するためのサンプルデータを用意する方法や、練習問題、回答を準備する方法もお伝えしていきます!

サンプルデータの生成方法 by ChatGPT

以前までは、わざわざ自分でサンプルデータを作ったり、サンプルデータを提供するようなサイトを探す必要がありましたが、現在はChatGPTやGeminiに頼めばすぐにサンプルデータを生成してくれる時代になりました。

以下、私自身がSQLのサンプルデータを依頼するために使用したプロンプトとChatGPTによる返答になりますので参考にしてください。

Kaito

SQLの練習をしたいので、3つの関連するサンプルデータを約1000行と10列程度でCSVの形式で作成をしてください。

Mr.Robo

SQLの練習用に3つの関連するサンプルデータを作成します。以下の3つのテーブルを用意します。

  1. users: ユーザー情報を格納
  2. orders: 注文情報を格納
  3. products: 商品情報を格納

各テーブルは以下のような構造を持ち、各テーブルに1000行程度のデータを生成します。

users

  • user_id: ユーザーID(整数)
  • username: ユーザー名(文字列)
  • email: メールアドレス(文字列)
  • created_at: 登録日時(日時)
  • updated_at: 更新日時(日時)

….. 省略

もっと細かく条件を指定すれば、それに近しいサンプルデータも作成してくれるので、個人的にプログラミングを勉強するにはもの凄く役に立ちます。

SQLで何故エラーが出るんだろう…。と思った時も、そのコードをChatGPTにコピペすれば大体全て間違いを教えてくれた上に、こうすれば動くよ!といったコードまで書いてくれるので、それはもう助かります。

問題集と模範解答まで準備可能

データを準備してもらったら、それに続けて問題集と模範解答も準備してもらいましょう!これで、SQLの独自問題集の完成です。

Kaito

作成した3つのCSVをもとに、SQL初級から上級の問題を、初級20問、中級20問、上級10問で作成しExcelファイルで抽出してください。また、その解答も作成して別のExcelファイルとして抽出してください。

Mr.Robo

作成した3つのCSVファイルを使用して、SQLの初級、中級、上級の問題を生成し、Excelファイルにまとめます。以下に、各レベルの問題の例を示します。

初級
  1. 全てのユーザーを表示するSQL文を書いてください。
  2. 商品のリストを取得するSQL文を書いてください。
  3. 注文のリストを取得するSQL文を書いてください。
  4. ユーザーのユーザー名とメールアドレスを取得するSQL文を書いてください。
  5. 商品名と価格を取得するSQL文を書いてください。
中級
  1. 特定のユーザーIDを持つユーザーの詳細を取得するSQL文を書いてください。
  2. 特定のカテゴリーの商品を取得するSQL文を書いてください。

….. 省略

サンプルデータは最低でも3つ

関連するデータを最低3つ用意する

SQLを勉強する際は、関連するデータを最低3つは用意することをおすすめしてます。何故かというと、SQLを勉強する上で必ず必要な知識となってくるのが「テーブルの結合」になり、2つのテーブル、2つ以上のテーブルを結合してデータを好きなように抽出する練習に必要だからです。

テーブルを結合するためには、それぞれKEYとなるデータが必要になるので、必ず最初の段階で「関連する3つのデータ」をChatGPTやGeminiに依頼して作成してもらいましょう!

もし、最初1つしか作ってない…。という方がいましたら、ChatGPTやGeminiにそのデータを提供して、「これに関連するサンプルデータを2つ作って」と依頼すれば作成可能かと思います。

おすすめは、ユーザー情報、商品情報、注文情報

私がSQLを動かすときに何を一番先に想像するかというと、、、

そう、検索BOXです。検索BOXは、超簡単に解釈してしまうと、私たちが入力したキーワードをもとにデータベースから検索結果を表示しています。つまり、SQLが裏側で動いていて入れたキーワードがSQL化されてGoogle様の壮大なデータベースから結果を表示してくれる。といった感じです。

ただし、Google様だと壮大すぎて少々分かりにくくなるので、私が次に想像するのが、、、

そうAmazonのようなマーケットプレイスです。Amazonのユーザー情報・商品情報・注文情報などは正しくSQLを練習するときに使いやすく、例題にしやすいのです!

問題:ユーザーAAAが、過去一年間で購入した商品を商品カテゴリー別に、合計金額が多い順で10個取得してください。など

その為、特にこだわりがなければ、ChatGPTやGeminiにデータを作成してもらう際に、ユーザー情報、商品情報、注文情報のサンプルデータを作成してもらうことをお勧めします。

関連記事

 | Website

小売販売員からキャリアをスタートし日系&外資系大手企業と3度の転職を成功させ、超大手外資系IT企業でデジタルマーケティング関連職に従事。WEBコンサルティング会社を起業し、マーケットプレイスを中心とした業務代行とコンサルティング、業務効率化のソフトウェア販売を行っています。
保有資格:3級FP技能士、2種証券外務員、ITパスポート、GAIQ、Goole広告各種プロフェッショナル認定資格