このページだけで完結!ブラウザ内SQLiteで安全にSQL練習

学習

この記事で分かること

  • このページの中だけでSQLを実行して試す方法が分かります。
  • 練習用テーブルを使って、SELECT/WHERE/ORDER BY/GROUP BY などの基本的なSQLを手を動かしながら学べます。
  • ブラウザ内SQLiteなので、サーバーのデータベースに触れずに安全に試せる理由が分かります。
  • ブラウザ内SQLiteで練習したあと、次にローカルSQLiteへ進む流れ が分かります。

はじめに:まずはこのページでSQLを打ってみよう

SQL初心者のうちは、環境構築よりも先に 「とりあえずSQLを実行してみること」 が大切です。
このページでは、そのための練習環境として ブラウザ内SQLite を使う前提で説明します。

ポイントはシンプルで、

  • このページの中だけで SQL を実行できる
  • サーバーのデータベースには触れない
  • テーブル作成や SELECT の結果を、その場ですぐ確認できる

ということです。

まずは細かい仕組みよりも、「実際にSQLを打つとこう動く」 を体験してみましょう。

第1章の途中に、このページ用の実行欄を置いています。使い方を読んでから試しても、先に触ってから読んでも構いません。


1. このページのSQL練習環境の使い方

ここでは、記事ページ内にSQLを入力する欄と実行ボタンが置かれている前提で、使い方を説明します。

1-1. まずは練習用テーブルを用意する

最初に、練習用の users テーブルを用意します。
ページ内に「初期化」ボタンや、最初から入っているサンプルSQLがある場合は、それをそのまま使えばOKです。

次のようなSQLが用意されているイメージです。

CREATE TABLE users (
  id    INTEGER PRIMARY KEY,
  name  TEXT,
  age   INTEGER,
  city  TEXT
);

INSERT INTO users (name, age, city) VALUES
  ('Alice', 25, 'Tokyo'),
  ('Bob',   32, 'Osaka'),
  ('Carol', 29, 'Nagoya'),
  ('Dave',  41, 'Fukuoka');

↑ 実行欄へ(公開ページでジャンプ)—「サンプルテーブルを初期化」で同じテーブルとデータを用意できます

このSQLを実行すると、users テーブルが作成され、4件のサンプルデータが登録されます。

実際の実行欄では、次の順で動きます。

  1. 「サンプルテーブルを初期化」ボタンを押すと、上で示した CREATE TABLE と INSERT に相当する処理が内部で行われ、練習用の users テーブルと4件のデータが用意されます。
  2. 続けて 「実行」ボタンを押すと、ボックス内に最初から入っている SQL(COUNT(*) で users の登録件数を数えるクエリ)が実行され、たとえば cnt に 4 と出れば、サンプル4件が入ったことを確認できます。

以下が、このページに埋め込んだ練習用の実行欄です。

1-2. 画面の見方

多くのブラウザ内SQLite練習環境は、次のような構成です。

  • 上部: SQL を入力・編集する欄
  • ボタン: 実行 や 初期化
  • 下部: 実行結果の表やエラーメッセージ

やることはシンプルで、SQLを書いて実行し、結果を見るだけです。


2. まず試したいSQL

テーブルとデータが準備できたら、次は実際にクエリを書いてみます。
初心者のうちは、まず 「一覧を見る」「絞り込む」「並び替える」 の3つを覚えるのがおすすめです。

この章のサンプルSQLの試し方(各クエリ共通)

  1. すぐ下の SQL が入ったコード枠で、表示されていれば コピーボタンで全文をコピーする(コピーボタンが無い環境では、SQL をドラッグ選択して Ctrl+C などでコピー)。
  2. コード枠の下にある 「↑ このSQLで試す(実行欄へジャンプ)」リンクを押し、埋め込みの実行欄(入力ボックス)まで移動する。
  3. 実行欄をクリックして 貼り付けCtrl+V)、「実行」ボタンを押す。

2-1. すべての行を取得する(SELECT *)

初期化のあと、実行欄のデフォルトは件数確認用の COUNT(*) です。ここでは 行をまとめて一覧する SELECT * を、上の「試し方」どおり(コピー → リンクでジャンプ → 貼り付け → 実行)で試してください。

SELECT *
FROM users;

↑ このSQLで試す(実行欄へジャンプ)

  • * は「すべての列」を意味します。
  • 実行すると、4件のユーザー情報が表形式で出てきます。

まずはこのクエリで、「SQLを実行すると結果が表で返ってくる」 感覚をつかみましょう。

2-2. WHEREで条件を付ける

SELECT *
FROM users
WHERE age >= 30;

↑ このSQLで試す(実行欄へジャンプ)

  • 年齢が30歳以上のユーザーだけが表示されます。
SELECT name, city
FROM users
WHERE city = 'Tokyo';

↑ このSQLで試す(実行欄へジャンプ)

  • 東京在住のユーザーの name と city だけを取り出します。

WHERE を使うと、「全部見る」のではなく 必要な行だけ絞り込む ことができます。

2-3. ORDER BYで並び替える

SELECT *
FROM users
ORDER BY age ASC;

↑ このSQLで試す(実行欄へジャンプ)

  • 年齢の昇順(若い順)に並び替えます。
SELECT *
FROM users
ORDER BY age DESC;

↑ このSQLで試す(実行欄へジャンプ)

  • 年齢の降順(高い順)に並び替えます。

3. GROUP BYや集計も試してみる

ブラウザ内SQLiteでも、基本的な集計クエリを試すことができます。

3-1. 都市ごとの人数を数える

SELECT city, COUNT(*) AS cnt
FROM users
GROUP BY city;

↑ このSQLで試す(実行欄へジャンプ)

  • GROUP BY city で都市ごとにグループ分けし、COUNT(*) で件数を数えています。

3-2. 平均年齢を求める

SELECT AVG(age) AS avg_age
FROM users;

↑ このSQLで試す(実行欄へジャンプ)

  • AVG(age) で age 列の平均値を計算します。

SQLite でも、基本的な集計関数(COUNT / SUM / AVG / MIN / MAX など)を使って集計を試せます。


4. なぜこの方法なら安全に試せるのか

ここまで「とにかく試す」ことを優先してきましたが、この方式の大きな利点は 安全性 にあります。

4-1. ブラウザの中だけで完結する

ブラウザ内SQLiteは、ざっくり言うと次のような仕組みです。

  • SQLite本体をブラウザに読み込む
  • 各ユーザーのブラウザ内に、練習用の小さなデータベースを作る
  • SQLの実行も結果表示も、すべてそのブラウザの中だけで完結する

そのため、レンタルサーバーの MySQL や WordPress の本番データベースには一切触れません。

4-2. 避けられるリスク

この仕組みによって、次のようなリスクを避けられます。

  • 本番DBを壊してしまうリスク
    • サーバー側のMySQLなどには一切接続しないため、誤って本番データを削除・更新してしまう心配がありません。
  • INFORMATION_SCHEMAなどから内部情報を覗かれるリスク
    • サーバー側のDBには接続していないので、サーバー内部の情報を覗き見られることはありません。
  • 悪意あるアクセスによる負荷・障害リスク
    • SQLは各ユーザーのブラウザ内で実行されるため、攻撃的なクエリを連打されても、重くなるのはその人のブラウザ側だけです。

4-3. それでも注意しておきたいこと

とはいえ、ブラウザ内SQLiteにもいくつか注意点があります。

  • 大量データを扱うと、ブラウザが重くなる
    • 何十万行など大量のデータを読み込んだり、重いクエリを何度も流すと、実行した人のブラウザが固まることがあります。
  • ページを閉じるとデータが消えることが多い
    • 学習用には便利ですが、「長期保存」には向きません。必要ならSQLスクリプトを別途メモしておきましょう。
  • ページ内の練習環境なので、長期保存には向かない
    • 何度も使う自分専用の DB を育てたいなら、あとでローカル SQLite に進む方が向いています。

ポイント:
ブラウザ内SQLiteは「安全にたくさん手を動かす場所」。
まず文法に慣れる入口として使い、必要になったらローカル SQLite に進むのがおすすめです。


5. 次の一歩:このページの次に何をするとよいか

このページの役割は、ブラウザの中だけでSQLを安全に試して、基本の文法に慣れること です。

ここまで来たら、次は目的に応じて進み方を分けると学びやすくなります。

5-1. まだ気軽に試したいなら

外部の無料オンライン環境も合わせて見ておくと、
「このサイト内」以外でも SQL を試せる場所が分かります。

5-2. 自分のPCに DB ファイルを残したいなら

ブラウザ内SQLiteで手を動かす感覚がつかめたら、次はローカルPCに SQLite を入れて、

  • 自分で DB ファイルを作る
  • sqlite3 コマンドで SQL を打つ
  • GUI で同じ DB を開いて確認する

ところまで進むと、理解が一段深まります。


6. まとめ:まずはこのページでSQLを打ってみよう

ブラウザ内SQLiteを使えば、

  • レンタルサーバーのMySQLや本番WordPressに一切触れずに
  • テーブル作成からSELECT/WHERE/ORDER BY/GROUP BYまで

を、自分のPCのブラウザだけで完結して練習することができます。

SQL学習の最初の目標は、「文法とパターンに慣れること」です。
まずはこのページで安全にたくさん試し、そのあとでローカルSQLiteへ進むと、学習がつながりやすくなります。

まずは、壊しても誰にも迷惑がかからない ブラウザ内SQLiteという箱庭 で、
初期化→実行で件数を確かめたうえで、SELECT * や WHERE から気軽に試してみてください。

慣れてきたら、WHEREORDER BYGROUP BY と少しずつ広げていくと、SQLの読み書きに自然と慣れていけます。


次に読む

このページで SELECT や WHERE を実際に試してみて、「SQLはこう動くのか」という感覚がつかめたら、次は次の記事もおすすめです。

タイトルとURLをコピーしました