[DB]<DB Fiddle>SQLをWEBブラウザで簡単に学習(SELECT/INSERT/UPDATE/DELETE)
◆DB Fiddleとは?
「SQL Fiddle」とは、
Web上でSQLを手軽に実行することができるサイトです。
Fddleの英語の意味としては、「いい加減に扱う、改ざんする」などです。
なので、DBを手軽にいじくると言ったような意味合いだと思われます。
いちいち実行環境を構築をする必要がありませんので、
ちょっとSQL文を試したい時や、低コストにサクッと学習したい時などに便利です。
DB Fiddle(サイトはこちら)
◆DB Fiddleの使い方
ページを開くと、
以下のようなレイアウトとなっています。
主に使用する箇所は、以下の3点です。
①Schema SQL エリア
ページの左側のエリア。
テーブルの作成を行うSQL文を記述します
②Query SQL エリア
ページ右側のエリア。
SQLの命令文(SELECT,INSERT,UPDATE,DELETEなど)を記述します
③RUN(実行)ボタン
画面の左上あたりにあるボタン。
こちらを押すと、SQLが実行されます。
Query SQL エリアで記述した命令があれば、
実行結果が画面の下部にエリアが表示されます。
試しに、テーブルを作成し、
SELECT文を実行してみると以下のようになります。
◆テーブル作成
サンプルを貼りますので、
<Schema SQL エリア>に貼ってください。
<商品テーブル>と<注文明細テーブル>
の二つを作成しています。
<商品テーブル>には、
「商品名」には"乾電池"・"イヤホン"・"USBケーブル"・"マウス"の4つのデータがあります。
それぞれのデータは、「商品名」「商品番号」「単価」のデータ項目を持っています。
<注文明細テーブル>には、
「注文番号」「商品番号」「数量」「販売単価」のデータ項目があります。
そして、<注文明細テーブル>の「商品番号」は、
<商品テーブル>の「商品番号」と対応していることとします。
create table 商品
(
商品番号 int null,
商品名 text null,
単価 int null
) DEFAULT CHARSET=utf8;
INSERT INTO 商品 (商品番号, 商品名, 単価) VALUES (1, '乾電池', 100);
INSERT INTO 商品 (商品番号, 商品名, 単価) VALUES (2, 'イヤホン', 120);
INSERT INTO 商品 (商品番号, 商品名, 単価) VALUES (3, 'USBケーブル', 150);
INSERT INTO 商品 (商品番号, 商品名, 単価) VALUES (4, 'マウス', 200);
create table 注文明細
(
注文番号 int null,
商品番号 int null,
数量 int null,
販売単価 int null
) DEFAULT CHARSET=utf8;
INSERT INTO 注文明細 (注文番号, 商品番号, 数量, 販売単価) VALUES (1, 1, 3, 100);
INSERT INTO 注文明細 (注文番号, 商品番号, 数量, 販売単価) VALUES (1, 2, 10, 50);
INSERT INTO 注文明細 (注文番号, 商品番号, 数量, 販売単価) VALUES (2, 1, 10, 120);
INSERT INTO 注文明細 (注文番号, 商品番号, 数量, 販売単価) VALUES (3, 4, 1, 200);
INSERT INTO 注文明細 (注文番号, 商品番号, 数量, 販売単価) VALUES (4, 1, 5, 160);
INSERT INTO 注文明細 (注文番号, 商品番号, 数量, 販売単価) VALUES (5, 2, 8, 65);
この時点で、RUN(実行)ボタンをおすと、
テーブルは作成されますが、
<Query SQL エリア>に記述はしてないため表示はされません。
◆クエリSQLの実行
サンプルを貼りますので、
<Query SQL エリア>に貼ってください。
また、実行するたびに
テーブルのデータは<Schema SQL エリア>で作成しなおすため、
INSERTしてもデータはリセットされる点はご留意ください。
①SELECT
SELECT文は、
テーブルのデータを参照します。
SELECT *
FROM 注文明細
;
<注文明細>から<全項目(*で指定)>を参照します。
以下のように表示されます。
注文番号 | 商品番号 | 数量 | 販売単価 |
---|---|---|---|
1 | 1 | 3 | 100 |
1 | 2 | 10 | 50 |
2 | 1 | 10 | 120 |
3 | 4 | 1 | 200 |
4 | 1 | 5 | 160 |
5 | 2 | 8 | 65 |
①のINSERTは、あくまで参照するだけなのでデータの編集は行えません。
②③④の操作でデータの編集を行います。
ただ、編集結果を確認するために、
SELECT文は以下の命令でもセットで実行していきます。
②INSERT文
INSET文は、
テーブルにデータを追加します。
INSERT INTO 注文明細(注文番号 , 商品番号 , 数量 , 販売単価)
VALUES (9,3,5,100)
;
SELECT *
FROM 注文明細
;
・注文番号 = 9
・商品番号 = 3
・数量 = 5
・販売単価 = 100
のデータ行がテーブルに追加されます。
注文番号 | 商品番号 | 数量 | 販売単価 |
---|---|---|---|
1 | 1 | 3 | 100 |
1 | 2 | 10 | 50 |
2 | 1 | 10 | 120 |
3 | 4 | 1 | 200 |
4 | 1 | 5 | 160 |
5 | 2 | 8 | 65 |
9 | 3 | 5 | 100 |
③UPDATE文
UPDATE文は、
テーブルに既にあるデータを更新します
UPDATE 注文明細
SET 数量 = 0
WHERE 商品番号 = 1
;
SELECT *
FROM 注文明細
;
<商品番号>が"1"のデータの<数量>が"0"に更新されています。
注文番号 | 商品番号 | 数量 | 販売単価 |
---|---|---|---|
1 | 1 | 0 | 100 |
1 | 2 | 10 | 50 |
2 | 1 | 0 | 120 |
3 | 4 | 1 | 200 |
4 | 1 | 0 | 160 |
5 | 2 | 8 | 65 |
④DELETE文
DELETE文は、
テーブルに既にあるデータを削除します。
DELETE
FROM 注文明細
WHERE 商品番号 = 1
;
SELECT *
FROM 注文明細
;
注文明細テーブルのうち、
<商品番号>が"1"のデータ行が削除されています。
注文番号 | 商品番号 | 数量 | 販売単価 |
---|---|---|---|
1 | 2 | 10 | 50 |
3 | 4 | 1 | 200 |
5 | 2 | 8 | 65 |
1 | 2 | 10 | 50 |
◆最後に
いかがだったでしょうか。
DB Fiddleを使用することによって、
低コストでサクッと学習できます。
DBを構築する手間がかかりませんから。
さらに、SQL構文を学びたい方は、
合わせて以下の記事もご覧ください。
DBの構築については、
比較的簡単に構築できる種類としてはHSQLDBがあります。
もし、ご興味がありましたら、
以下の記事を参考にDBを構築するのも良いでしょう。
ここまで、
ご覧いただきありがとうございました。
Discussion