💻

簡単にSQLを試せるツール「DB Fiddle」がスゴイ

2023/03/17に公開

DB Fiddleとは?

Web上で好きなデータを使って、SQLを試すことができる便利なツールです!
https://www.db-fiddle.com/

基本画面

左側の「Schema SQL」に、テスト用データを作成するSQLを書いて
右側の「Query SQL」に、実行したいSQLを書きます。

使い方

DBを選ぶ

左上の「Database: ~」の部分をクリックすると
使用するデータベースの種類とバージョンを選択することができます。
(筆者は、データ分析に強い「PostgreSQL」を選ぶことが多いです)

「Schema SQL」でテスト用テーブルを作る

画面左側「Schema SQL」に、テストしたいデータの
CREATE TABLE(テーブル作成)文と、INSERT(データ追加)文を記入します。

CREATE TABLE、INSERTともに、構文の書き方があるのですが
テスト的に試せるように、見本を置いておきます。

SQL
create table products
(
product_id integer primary key
,category_top text
,category_sub text
,product_name text
,price integer
,sales_start_date date
)
;
insert into products values
(101,'1:茶','1:緑茶','こだわり茶葉の緑茶',120,'2021-01-01')
,(102,'1:茶','1:緑茶','キリッと濃い緑茶',140,'2021-01-01')
,(103,'1:茶','2:紅茶','さわやかレモンティー',130,'2021-06-10')
,(104,'1:茶','2:紅茶','ヘルシー無糖紅茶',170,'2021-09-15')
,(201,'2:コーヒー','1:ブラック','こだわり豆のブラックコーヒー',140,'2021-01-01')
,(202,'2:コーヒー','1:ブラック','すっきり水出しコーヒー',150,'2021-07-05')
,(203,'2:コーヒー','2:ラテ','やさしいミルクのラテ',180,'2021-10-20')
,(204,'2:コーヒー','2:ラテ','おいしい無糖ラテ',190,'2021-11-14')
,(301,'3:ジュース','1:フルーツ','特産みかんのこだわりジュース',200,'2021-03-03')
,(302,'3:ジュース','1:フルーツ','ラテ風味のバナナジュース',180,'2021-05-05')
,(303,'3:ジュース','2:ポップ','強炭酸の無糖コーラ',160,'2021-01-01')
,(304,'3:ジュース','2:ポップ','懐かしメロンソーダ',170,'2021-09-09')
,(401,'4:水','1:ミネラル','自然が育んだおいしい水',100,'2021-01-11')
,(402,'4:水','2:炭酸水','シュワッと爽快強めの炭酸水',110,'2021-01-11')
;

※このデータは筆者のSQL講座のデータになります!


また、左下にある「Text to DDL」のボタンを使うと
登録したいデータから、自動でSQLを作ってくれる機能もあります!

※Excelからコピペしてタブ区切りのテキストで貼り付けています

「Append to Schema」を押すと、SQLを展開してくれます。

※注意
VARCHAR(N)の数字がやや小さく、エラーになることがあるので
多めの数字にするか、PostgreSQLであればTEXT型に変更するのが良さそうです…!

「Query SQL」に実行したいSQLを書く

画面右側「Query SQL」に、実行したいSQLを記入します。

※SQL見本

select *
from products
;

記入したら、左上の「Run」ボタンを押すと、左側に記入したテスト用データが作成され
右側のSQLが実行されます!

※注意
左側で作ったテーブルは保存されるわけではなく
「Run」を押すたびに、左側のテーブル作成と右側のクエリが実行されます。
作成するテスト用テーブルのサイズは、大きすぎない方が良いと思われます。

保存

「Save」を押すと、独自URLが発行されて作業を保存することができます。

ただし、このURLは公開されるので、保存するクエリなどにはご注意ください!
(有償版であれば、プライベートなURLにできるようです)


「DB Fiddle」は、今のところSQLを簡易的に試すには最適なツールかと思います!
ぜひ、お試しください!

Discussion