Playcode Classic

SQL練習場

このSQLプレイグラウンドは、SQLの練習に使えるオンラインのSQLサンドボックスです。ブラウザで動くPostgreSQL 17に、小さなサンプルデータベースが最初から入っています。アーティスト、アルバム、曲、顧客、請求書のデータを持つ音楽ストアです。クエリを書いて実行ボタンを押せば、結果が表で表示されます。インストールは要らず、アカウントがなくても使い始められます。Playcodeの無料コードツール「Playcode Classic」のひとつです。

無料。アカウントなしで始められます。

遊び場に開かれたレコード店で、スツールに座ったアナリストがノートパソコンでクエリを書き、Playがレコード箱の上に1枚のレコードを高く掲げています。フェンスの向こうでは、ロケットが待っています。

最初からデータが入ったデータベース

PostgreSQLで作った小さな音楽ストアです。アルバムとアーティストを結合したり、曲をジャンルでグループ化したり、国ごとに請求額を合計したりしてみましょう。

サンプルデータベースには6つのテーブルがあり、主な列とともに示しています。artists:artist_id、name。albums:album_id、title、artistsを参照するartist_id。tracks:track_id、name、album_id、genre_id、unit_price。album_idはalbumsを、genre_idはgenresを参照します。genres:genre_id、name。customers:customer_id、first_name、last_name、country、email。invoices:invoice_id、customer_id、invoice_date、total。customer_idはcustomersを参照します。
  • artists
    • artist_id
    • name
  • albums
    • album_id
    • title
    • artist_id
  • tracks
    • track_id
    • name
    • album_id
    • genre_id
    • unit_price
  • customers
    • customer_id
    • first_name
    • last_name
    • country
    • email
  • invoices
    • invoice_id
    • customer_id
    • invoice_date
    • total
  • genres
    • genre_id
    • name
遊び場の軽食カウンターで、小さな給仕帽をかぶったPlayがアナリストのほうへトレーを3つ滑らせています。どのトレーにも、色付きのセルでできた小さな表が載っています。

クエリごとに、結果の表がひとつ。

複数のクエリを書いて一度実行すれば、SELECTごとに結果が別々の表として、順番どおりに返ってきます。INSERT、UPDATE、CREATEには「OK」と表示されます。

テーブルをクリックして、そのままクエリ。

コードの横のパネルには、テーブルと列が一覧で表示され、主キーには印が付いています。クリックすれば、エディタがSELECT文を書いてくれます。

タブを閉じても、テーブルは待っている。

データベースはこのブラウザの中にあるので、作ったテーブルは次に開いたときも残っています。音楽ストアのデータに戻すことも、空のデータベースから始めることもできます。

共有リンクで開けるのはクエリだけで、データは含まれません。データベースはブラウザごとに別々です。

ふたつに分かれた1枚の絵。夕暮れの月の下でPlayが積み木でいっぱいのおもちゃ箱を閉じ、朝日の中で開けると、積み木はすべて置いたままの場所にあります。

中身はPostgreSQL

使えるもの

  • JOIN、GROUP BY、HAVING
  • ウィンドウ関数と共通テーブル式(WITH)
  • JSONと配列
  • CREATE TABLE、INSERT、UPDATE、DELETE
  • pgvector(埋め込み用)

ここでは(まだ)使えないもの

  • AUTO_INCREMENTやLIMIT 5, 10など、MySQL固有の構文
  • TOPなど、SQL Server固有の構文
  • pgvector以外の拡張機能
  • 本体に複数の文を含む関数とトリガー
  • CSVファイルのインポート

言葉で伝えれば、クエリが返ってくる。

「購入額が多い顧客の上位5人」のように、エディタのAIチャットに普段の言葉で頼めば、SQLを書いてくれます。エラーも見えています。利用にはAIクレジットを使います。条件を満たす新規アカウントには、お試し用のクレジットが付与されます。

レコード店で、アナリストのノートパソコンには小さな棒グラフ。Playはカウンターに背の高い順に並べた5枚のレコードを紹介しています。

Playcode Classicのツール

Playcodeは2016年、ブラウザで使えるコーディング環境として始まりました。このプレイグラウンドは、その無料のコードツールのひとつです。これらのツールを、今はPlaycode Classicと呼んでいます。

現在のPlaycodeは、ホームページやアプリを作り、動かすためのAIプラットフォームです。

古い遊び場の開いた門のところにPlayが立ち、その先にあるものを紹介しています。発射台で出番を待つロケットです。

よくある質問

  • このオンラインSQLプレイグラウンドは無料ですか?

    はい。クエリの実行は無料で、アカウントも要りません。保存と共有には無料アカウントが必要で、公開・非公開を問わず、プロジェクトを3つまで保存できます。AIチャットにはクレジットを使います。

  • どのデータベースが動いていますか?

    WebAssemblyにコンパイルされたPostgreSQL 17が、ブラウザ上で動いています。

  • サンプルデータは付いていますか?

    はい。最初からデータが入ったSQLプレイグラウンドです。小さなサンプルとして、アーティスト、アルバム、曲、ジャンル、顧客、請求書のデータを持つ音楽ストア「Chinook」が入っています。いつでもこのデータに戻せますし、空のデータベースから始めることもできます。

  • MySQLやSQL Serverの構文は使えますか?

    PostgreSQLと共通する部分だけ使えます。標準的なSELECT、JOIN、GROUP BY、ウィンドウ関数は動きますが、AUTO_INCREMENTやTOPのような、MySQLやSQL Server固有の構文は動きません。

  • タブを閉じても、テーブルは残りますか?

    はい、同じブラウザなら残ります。データベースはブラウザに保存されるため、別のブラウザや端末では最初からになります。また、共有リンクで共有されるのはクエリで、データは含まれません。

  • 自分でテーブルを作れますか?

    はい。CREATE TABLE、INSERT、UPDATE、DELETEのどれも使えます。

  • CSVファイルをインポートできますか?

    まだできません。SQL文をエディタに貼り付けて、実行してください。

  • pgvectorに対応していますか?

    はい。CREATE EXTENSION vectorが使えます。ほかの拡張機能は、まだ使えません。

  • ここでSQLの練習はできますか?

    はい。音楽ストアのデータに対してクエリを書いてみましょう。アルバムとアーティストの結合、ジャンルごとの曲のグループ化、国ごとの請求額の合計などを練習できます。

  • このプレイグラウンドはPlaycodeの一部ですか?

    はい。このプレイグラウンドは、Playcodeの無料コードツール「Playcode Classic」のひとつです。Playcodeは2016年、ブラウザで使えるコーディング環境として始まりました。現在は、ホームページやアプリを作り、動かすためのAIプラットフォームです。

ほかの無料コードツール

データベースに、何か聞いてみよう。

ドアを開けて空席を用意したロケットが待っていて、Playがこちらへ手招きしています。はるか上空では、別のロケットが飛び去っていきます。