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 | 岩佐 春樹 | 男 |