SQLを実際に実行してみようと思うと、データベースシステムの準備、テーブルの作成、テストデータの作成が必要です。テーブルやテストデータは練習したいSQLによって内容が変わるので管理も大変です。
これらの手間を減らすプログラムを作ったので、もし良かったら使ってみてください。
このzipファイルをダウンロードしてください。ダウンロードしたzipファイルは展開して使ってください。中には以下のファイルが入っています。
| ファイル名 | 説明 |
|---|---|
| Common.pm | Perlライブラリ |
| run.bat | プログラム起動バッチファイル |
| sample.txt | サンプルSQL定義ファイル |
| sqlexec.exe | プログラム本体 |
| sqlexec.pl | Perlスクリプト本体 |
動作確認はWindowsでしかしていません。Perlスクリプトなので文字コードや改行コードを調整すれば、Linux等の他のOSでも動くかもしれません。
コマンドプロンプトでrun.batを実行してください。第一引数にSQL定義ファイルを指定します。
run.bat sample.txt
run.batを実行するとsqlexec.exeを実行し結果をresult.htmlファイルに出力して、result.htmlをブラウザで開きます。
Perlがインストールされている環境をお使いの方で、自分でPerlスクリプトを実行したい方は以下のようにしてください。Linux等のWindowx以外のOSを利用している方もこちら。
perl sqlexec.pl sample.txt > result.html
実行結果をresult.htmlに出力しますので、result.htmlをブラウザで開いて結果を確認してください。
SQL定義ファイルはテキスト形式のファイルです。以下のような内容を書いてください。
[description]
JOINのサンプル
[table]
People
No number,Name varchar,Sex number
1,松井 咲,1
2,境 なぎさ,1
3,鈴木 昴,0
4,岩井 麻由子,1
5,岩佐 春樹,0
Sex
No number,Caption varchar
0,男
1,女
[sql]
SELECT
p.No AS '番号',
p.Name AS '氏名',
s.Caption AS '性別'
FROM
People AS p
JOIN
Sex AS s
ON p.Sex = s.No
WHERE p.Sex = 0
[description]のところには内容の説明を書きます。
[table]のところにテーブルの定義とテストデータの内容を書きます。最初にテーブル名(例:People)を書きます。
次の行にテーブルの定義(例:No number,Name varchar,Sex number)を書きます。テーブルの定義は項目名(例:No)と型名(例:number)を間に空白を開けて書きます。項目が複数ある場合はカンマで区切りながら書きます。
その次の行からテストデータ(例:1,松井 咲,1)を書きます。テーブル定義の項目の順番にカンマ区切りで書いてください。
テーブルが複数ある場合は空行を入れて、次のテーブルの定義をテーブル名から書いてください。
[sql]のところに実行するSQLを書きます。
プログラムを実行すると次のような結果を出力します。
| No | Name | Sex |
|---|---|---|
| 1 | 松井 咲 | 1 |
| 2 | 境 なぎさ | 1 |
| 3 | 鈴木 昴 | 0 |
| 4 | 岩井 麻由子 | 1 |
| 5 | 岩佐 春樹 | 0 |
| No | Caption |
|---|---|
| 0 | 男 |
| 1 | 女 |
| 番号 | 氏名 | 性別 |
|---|---|---|
| 3 | 鈴木 昴 | 男 |
| 5 | 岩佐 春樹 | 男 |