無料かつSignin不要で、ブラウザ上でSQLを試せるサイトには以下があります。
使用可能なデータベース
使用できるデータベースは以下のとおりです。(2022年10月現在、表記はサイトに従う)
DB Fiddle
- MySQL 8.0 / 5.7 / 5.6 / 5.5
- PostgreSQL 15 (Beta) / 14 / 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4
- SQLite 3.39 / 3.37 / 3.30 / 3.26
SQL Fiddle
- MySQL 5.6 / 5.7 / 5.5 / 5.1
- Oracle 11g R2
- PostgreSQL 9.6 / 9.3 / 9.2 / 9.1 / 8.4 / 8.3
- SQLite (WebSQL)
- SQLite (SQL.js)
- MS SQL Server 2017 / 2014 / 2008
db<>fiddle
- Db2 Developer-C 11.1
- Firebird 3.0 / 4.0
- MariaDB 10.2 / 10.3 / 10.4 / 10.5 / 10.6 / 10.7 / 10.8 / 10.9
- MySQL 5.5 / 5.6 / 5.7 / 8.0
- Node.js 18
- Oracle 11g Release 2 / 18c / 21c
- Postgres 8.4 / 9.3 / 9.4 / 9.5 / 9.6 / 10 / 11 / 12 / 13 / 14 / 15 Beta
- SQLite 3.8 / 3.16 / 3.27 / 3.39
- SQL Server 2012 / 2014 / 2016 / 2017 / 2017 (Linux) / 2019 / 2019 (Linux)
- YugabyteDB 2.6 / 2.8
サイトの特徴や使い方
それぞれのサイトの特徴や使い方について説明します。
DB Fiddle
- 定義のための「Schema SQL」とクエリのための「Query SQL」が左右の入力フィールドに分かれている。
- 「Save」で初めて保存される。
- URLは識別のためのハッシュキーとバージョン0がついたものになる。
- 「Update」するとバージョン番号が増えて保存される。
- 「Save」や「Update」したものは削除はできない。
- URLのバージョン番号を変更すれば、他のバージョンを容易に参照できる。
- 歴史を見られたくない場合は「Fork」か、新規に貼り付け直してバージョン0にする。
- テキスト(カンマ区切りや縦棒区切りの見出しとデータ)からDDL文を「Text to DDL」で生成できる。画面例
- 「Copy as Markdown」で「SQL」「実行結果」「リンク」を含むMarkdown形式のテキストがクリップボードにコピーされる。
- 対応しているデータベースは3種類で多くはない。
SQL Fiddle
- 定義のための「Build Schema」とクエリのための「Run SQL」が左右の入力フィールドに分かれている。
- 「Build Schema」で事前に定義を完了させる。URLに識別のためのハッシュキーがつく。
- 改行や空白も含め、同じ内容は同じハッシュキー(URL)になる。
- 同じ内容で新規に作り直す場合は、改行や空白を変更する。
- 「Run SQL」するたびにバージョンが1から自動インクリメントされる。
- 改行や空白も含め、同じ内容は同じバージョン(URL)になる。
- テキスト(カンマ区切りや縦棒区切りの見出しとデータ)からDDL文を「Text to DDL」で生成できる。画面例
- 「Example Input」のリンクにあるとおり「DDLBuilder」で解析してる。
- 実行結果の「View Execution Plan」で実行計画を見ることができる。
- 実行結果の「link」は複数の結果の1つに青い枠がつきフォーカスされる。URLに実行結果の番号が追加される。
- 対応しているデータベースは5種類。
- MS SQL Serverは重宝する。
- バージョンを気にしなければOracle 11g R2もある。
db<>fiddle
- トップ画面はデータベースごとの作成数の表が表示される。
- どのリンクを選んでもSQL実行画面でプルダウンから変更できる。
- 左がSQLの入力フィールド、右が実行結果となっている。
- 1つの入力フィールドに複数のSQL(定義文、クエリの両方)を記述することも可能。
- 左の三本線をクリックしてツールバーを展開し「split batch」をクリックすると、SQLが1つずつ入力フィールドに分割される。画面例
- SQL Serverで分割するときの区切り文字は「go」。「;」は実行時は使用できるが、分割時はダメ。
- 対応しているデータベースが豊富。
- Oracleは重宝するが、主要な12c/19cはなぜかない。
- SQL Serverの各バージョンは重宝する。
画面例
DB Fiddle
SQL Fiddle
db<>fiddle
split batchの画面例
↓展開