はじめに
普段、SQLを扱うときは A5:SQL Mk-2 などの素晴らしいツールにお世話になっています。
ただ、これらは機能がとても豊富な反面、初心者には少しハードルが高いと感じることがあります。
でもって、日曜開発で C#でシンプルな学習用SQLエディタを作ってみました。
目指した方向性
-
起動したらすぐ使える
インストール不要・設定不要。 -
UIはN88BASICくらいシンプルに
機能過多ではなく、操作感重視。
※学習用といえば N88BASIC ですよね、って誰かが言ってた -
“SQLを書く楽しさ”を感じられるエディタ
カラフルなのはとてもいいと思います。
使用技術とパッケージ
💡 AvalonEdit
テキストエディタ部分は AvalonEdit を採用。
シンタックスハイライトやフォールディングなど高機能すぎてビビります。
自作エディタとしての自由度が非常に高く、柔軟にカスタマイズできます。
📦 CsvHelper
結果をCSVとして保存するために CsvHelper を使用。
業務でもめちゃめちゃお世話になってます。信頼性と速度のバランスが良いお気に入りのパッケージです。
⚙️ Dapper
データアクセスにはみんな大好き Dapper を使用。
ORMを使うほどでもない軽量なアプリにはちょうどいいです。
実装した主な機能
分類 | 内容 |
---|---|
ファイル操作 | SQLファイルの開く・保存 |
出力 | クエリ結果をCSVエクスポート |
表示 | フォントサイズ・カラー変更 |
エディタ機能 | 簡易整形、シンタックスハイライト |
補助機能 | テーブル名・カラム名の簡易候補表示 |
機能は最小限ですが、「SQLを打ち込んで、結果を見る」ことに集中できる設計を目指しました。
初版なのでバグ出しはこれからです。
画面イメージ
- 上段にSQL入力エリア
- 下段に結果表示(DataGrid)
- 右にテーブル一覧
- CSV出力や整形はメニューから実行
今後の課題
- 構文補完の精度向上
- 設定保存機能(フォントサイズ・配色など)
- クエリ履歴の管理
- SQL Server や Oracle、PostgreSQL に対応するのは、だいぶん先
まとめ
「学習用SQLエディタ」として、最低限の操作でSQLを実行・確認できる環境を目指して作ってみました。
業務に使えるぐらい作りこめたらいいなと思っています。
ソースコード
おわりに
AvalonEditやCsvHelper、Dapperといった素晴らしいライブラリのおかげで、
思っていたよりも簡単にここまで作ることができました。
興味がある方は試してみてください。