この記事で分かること
- SQLを「本番環境を壊さずに」試せる無料オンライン環境の使い方が分かります。
- インストール不要・ブラウザだけで使えるSQLプレイグラウンドの基本操作を一通り体験できます。
- サンプルテーブルを使って、SELECT/WHERE/ORDER BY/LIMIT などの基本的なSQLを試せます。
- 本番のデータベースにSQLを流すときに絶対にやってはいけないことと、安全な学び方の考え方が分かります。
はじめに:なぜ本番DBでSQL練習してはいけないのか
SQL の本や記事を読むと、すぐに DELETE や UPDATE、DROP TABLE の例が出てきます。
しかし、これらを運用中のデータベース(本番DB)でそのまま実行するのは極めて危険です。
- DELETE/UPDATE
- 条件を間違えると、全件削除・全件更新が一瞬で走ります。
- 「戻るボタン」は基本的にありません。バックアップからの復元が必要になります。
- DROP TABLE / TRUNCATE
- テーブルごと消したり、中身を空にする命令です。
- WordPress なら、記事・ユーザー・設定などサイト自体が壊れるレベルの被害になります。
しかも、SQL は「エラーが出なければ成功」という世界です。
画面上は一見何も変わらなくても、裏で大量のデータが消えていることがあります。
だからこそ、
- 学習・実験用の“練習環境”を必ず分ける
- 最初は本番DBに絶対つながっていない場所だけで試す
というのが、SQL を学ぶときの基本的な安全ルールになります。
この記事では、そんな練習用の場所として使える 「無料オンラインSQLプレイグラウンド」 を紹介します。
サーバーに何かインストールしたり、ローカル環境を作ったりしなくても、ブラウザだけで テーブル作成 → データ投入 → SELECT 実行 まで体験できます。
1. 無料オンラインSQLプレイグラウンドとは?できること・できないこと
ここで言う「オンラインSQLプレイグラウンド」とは、
ブラウザ上でテーブル定義やSQLを書いて、その結果をすぐに確認できるサービスのことです。
1-1. できること
- ブラウザ上で
CREATE TABLEやINSERTを実行して、練習用のテーブル・データを作成できる SELECT/WHERE/ORDER BY/GROUP BYなどのクエリ結果を、即座に表形式で確認できる- サービスによっては、MySQL / PostgreSQL など複数種類のDBを選んで試せる
- ローカルインストールやサーバー設定が不要で、学習のハードルが低い
1-2. できないこと・向いていないこと
- 業務データや個人情報の入った本番相当データを置くこと(多くの場合、利用規約的にもNG)
- パフォーマンス検証や、大量データを使ったチューニング(共有環境では制限があるため)
- 自分の WordPress の本番データベースを丸ごとエクスポートして読み込む用途
(セキュリティ・プライバシーの観点で危険であり、多くのサービスの利用規約にも反する可能性があります)
イメージとしては、
「紙のノートに例題を書いて解く」感覚で、SQL を安全に試せる箱庭
と考えてもらうと分かりやすいと思います。
2. オンラインSQLプレイグラウンドの選び方
具体的なサービス名は時間とともに変わるので、ここでは選ぶときのチェックポイントをまとめます。
2-1. SQLほぼ初心者向けに見るポイント
- アカウント登録が不要、または最小限で済む
- 「とりあえず試したいだけ」の段階では、メール登録なしで使えると気楽です。
- 画面がシンプル(エディタ+結果表示だけ)
- 機能が多すぎると、どこにSQLを書くか分からなくなりがちです。
- エラーメッセージが分かりやすい
- 構文エラーやタイポをしたときに、どこが間違っているかヒントが出ると学習しやすいです。
- 複数のクエリをまとめて実行できる
CREATE TABLEとINSERTをまとめて流せると、テーブル準備が楽になります。
2026年時点では、例えば次のようなサービスがあります(いずれもブラウザだけで試せます)。
dbfiddle.uk系のサービス … db<>fiddle(dbfiddle.uk)- 複数のデータベースエンジン(MySQL / PostgreSQL / SQLite など)を選んで実行できる、代表的なオンラインSQLプレイグラウンドです。
- SQLite 向けのオンラインエディタ … OneCompiler SQLite
- SQLite に特化したオンライン実行環境で、サンプルコード付きで試せます。
- ブラウザ内で完結するサンドボックス … Web.run SQL
- SQLite ベースで、すべての処理がローカルブラウザ内で完結するプライベートなプレイグラウンドです。
※ サービスの仕様や提供状況は変わることがあるので、実際に使う前に公式サイトの説明や利用規約を確認してください。
代表的なサービスについて、上のポイントを簡単に比較すると次のようなイメージです(◎: 良い/○: だいたい満たす)。
| サービス名 | アカウント登録 | 画面のシンプルさ | エラーメッセージの分かりやすさ | 複数クエリの実行 |
|---|---|---|---|---|
| db<>fiddle(dbfiddle.uk) | ◎ 不要でそのまま使える | ○ エディタ+結果中心だが機能は多め | ○ 一般的なDBのエラーメッセージ | ◎ CREATE と INSERT をまとめて実行しやすい |
| OneCompiler SQLite | ◎ 不要でそのまま使える | ○ エディタ+結果+補助UIあり | ○ 構文エラーなどは十分読み取れる | ○ セミコロン区切りで複数文を扱える(サービス仕様に依存) |
| Web.run SQL | ◎ 不要・ブラウザ内完結 | ◎ 非常にシンプル(エディタ+結果) | ○ SQLite 由来のメッセージ | ◎ ブラウザ内で複数のDDL/DMLをまとめて実行可能 |
2-2. 注意しておきたい点
- データの保存期間
- ブラウザを閉じたり、一定時間経つとテーブルやデータが消えるサービスも多いです。
- 「長期保存する場所」ではなく、「その場で試す場所」と割り切った方がよいです。
- サンプルの公開範囲
- 作ったスキーマやクエリが「共有URL」で誰でも見られる形になるサービスもあります。
- 個人情報や社内固有の名前などは入れないようにします。
3. 実際にSQLを打ってみる:練習用テーブルを作成する
ここからは、典型的なオンラインSQLプレイグラウンドを使う想定で、
テーブル作成 → データ投入 → SELECT 実行 の流れをステップごとに見ていきます。
3-1. 画面構成のイメージ
多くのサービスは、次のようなレイアウトになっています。
- 左側:SQL を入力するエディタ
- 右側または下側:実行結果(表形式の一覧やメッセージ)
- 上部:
Run/Executeなどの実行ボタン
まずはエディタ部分をクリックし、次のSQLをまとめて貼り付けてみてください。
3-2. 練習用テーブルを作成するSQL
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
city VARCHAR(50)
);
INSERT INTO users (id, name, age, city) VALUES
(1, 'Alice', 25, 'Tokyo'),
(2, 'Bob', 32, 'Osaka'),
(3, 'Carol', 29, 'Nagoya'),
(4, 'Dave', 41, 'Fukuoka');
- 1つ目の
CREATE TABLEで、usersという名前のテーブルを作成します。 - 2つ目の
INSERT INTOで、4人分のダミーデータを登録しています。
貼り付けたら、「Run」ボタンを1回押してまとめて実行します。
エラーメッセージが出なければ、テーブル作成とデータ投入は成功です。
4. 基本の SELECT/WHERE/ORDER BY/LIMIT を試してみよう
テーブルとデータが用意できたら、いよいよ SELECT 文 を実行してみます。
4-1. すべてのデータを取得する(SELECT *)
SELECT *
FROM users;
*は「すべての列」を意味します。- 実行すると、登録した4件のレコードが表形式で表示されます。
これが SQL の基本中の基本、「テーブルの中身をそのまま見る」クエリです。
4-2. 条件で絞り込む(WHERE)
SELECT *
FROM users
WHERE age >= 30;
WHERE age >= 30の条件により、30歳以上のユーザーだけが表示されます。
SELECT *
FROM users
WHERE city = 'Tokyo';
city列が'Tokyo'の行、つまり東京在住のユーザーだけが表示されます。
WHERE では、=、<>、>=、<= などの比較演算子を使って絞り込みができます。
4-3. 並び替える(ORDER BY)
SELECT *
FROM users
ORDER BY age ASC;
ORDER BY age ASCで、年齢の**昇順(若い順)**に並び替えます。
SELECT *
FROM users
ORDER BY age DESC;
DESCにすると、**降順(年齢が高い順)**に並び替えられます。
4-4. 上位だけを見る(LIMIT)
SELECT *
FROM users
ORDER BY age DESC
LIMIT 2;
- 年齢が高い順に並べ、その中から上位2件だけを取り出します。
- 「アクセス数の多いページ上位10件」などを出すときに、よく使うパターンです。
5. 本番環境とプレイグラウンドの違い・注意点
オンラインSQLプレイグラウンドは非常に便利ですが、
本番のデータベースと同じ感覚で使うべきではない点がいくつかあります。
5-1. データの保存期間は短いことが多い
- ブラウザを閉じたり、一定時間が経つと、テーブルやデータが消えるサービスも多いです。
- 「長期保存する場所」ではなく、その場で試して捨てる場所と考えましょう。
5-2. 個人情報や本番そっくりのデータは入れない
- 外部サービス上に本番データや個人情報を置くのは、セキュリティ的にも利用規約的にもNGです。
- サンプルデータは、必ずダミーの名前・メールアドレス・ID にします。
5-3. 本番に適用するときは「別環境+バックアップ」を挟む
オンライン環境で書いたSQLを本番DBに持っていくときは、
- 本番と似た構造のテスト環境で再度確認する
- 必ずバックアップを取ってから本番で実行する
という2段階を挟むのが安全です。
「プレイグラウンドは“アイデア出し”と“動作確認”まで。
本番に流す前には、テスト環境とバックアップをはさむ。」
この考え方を持っておくだけで、事故のリスクをかなり減らせます。
6. 次の一歩:自分の学習用テーブルを考えてみる
ここまでで、
- ブラウザだけでSQLを試せるオンライン環境にアクセスし、
- テーブルを作成し、
- データを入れて、
SELECT/WHERE/ORDER BY/LIMITを一通り実行する
ところまで体験できました。
次のステップとしては、次のような自分用の練習テーマを決めてみると、理解が一気に深まります。
- ブログ記事一覧テーブル(
id,title,created_at,categoryなど) - ECサイトの商品テーブル(
id,name,price,stock,categoryなど) - 家計簿テーブル(
id,date,category,amount,memoなど)
テーブル設計から自分で考えて、オンラインプレイグラウンド上で
- 「○○円以上の商品だけ取り出す」
- 「○○カテゴリだけ、日付の新しい順に見る」
- 「月ごとの合計金額を集計する」
といったクエリを書いていくと、「実務でどう使うか」のイメージが掴みやすくなります。
SQL学習の最初の一歩は、**「本番に一切触れない安全な場所で、たくさん手を動かすこと」**です。
今回紹介したようなオンライン環境を上手に使って、少しずつクエリに慣れていきましょう。
.jpg)