SQL フォーマッター
SQLクエリを瞬時に整形・美化します。
MySQL, PostgreSQL, SQLite などの主要なダイアレクトに対応しており、適切なインデントと大文字化を適用します。
複雑なクエリの可読性向上、ログから取得したSQLの整形、コードレビュー前の整理に最適です。
高速SQLフォーマッター(整形ツール)
1行にインデントなしで記述された読みにくいSQLクエリや、ログファイルから抽出した複雑なSQL文を、予約語のハイライトや適切な改行・インデントを施して綺麗に整形(フォーマット)するツールです。
対応する主なデータベースと用途
MySQL、PostgreSQL、SQL Server、Oracle、BigQuery など、代表的なリレーショナルデータベースのエクスポートに幅広く対応しています。
特にORM(Object-Relational Mapper)が自動生成した長大なクエリのパフォーマンスチューニングや、チーム開発でのコードレビュー時において、可読性の向上はエラー発見の最短ルートとなります。
本ツールはローカルブラウザ上のJavaScriptで完結して動作するため、業務用のDB情報(スキーマ構造、テーブル名、生クエリ等)がネットワークを通じて漏洩する心配はありません。安全かつ瞬時にSQLを美しく整えます。
調査やレビューで役立つ使い方
本番障害の調査では、アプリケーションログや監視ツールから長いSQLを取り出して読む場面があります。整形前のSQLはJOIN、サブクエリ、CASE式、集計条件が横並びになりやすく、どこで絞り込みや結合が行われているか判断しづらいものです。
整形してから確認すると、WHERE句の条件漏れ、JOIN条件の不足、意図しないORDER BY、重複したフィルタを見つけやすくなります。Pull RequestでSQLをレビューする前の下準備や、ORMが生成したクエリの性能確認にも向いています。
フォーマット後に確認したい点
整形はSQLの意味を理解するための補助であり、インデックス設計や実行計画の確認を置き換えるものではありません。フォーマット後は、対象テーブル、結合キー、絞り込み条件、取得カラム数、LIMITの有無を順番に確認すると、パフォーマンス上の問題を切り分けやすくなります。
おすすめリソース
このセクションにはアフィリエイトリンクが含まれる場合があります。リンク経由で購入すると、追加費用なしでDevToolKits.appが紹介料を受け取ることがあります。
このツールの関連記事
SQLフォーマッターでクエリを読みやすく整形する方法
長いSQLやログからコピーしたクエリを整形し、レビューしやすくする方法を解説。PostgreSQL/MySQL/BigQueryなどの方言差、整形が構文チェックにもなる理由まで実例付きで整理します。
SQLビルダーでSELECT・JOINクエリを視覚的に作成する方法
SQLビルダーを使ってSELECT、WHERE、JOINをブラウザ上で組み立てる方法を解説。値の自動クォート判定の仕組み、JOINの使い分け表、複数テーブル結合の書き方まで実例付きで整理します。
SQLの句の評価順リファレンス|WHEREでSELECTの別名が使えない理由
SQLは書いた順に実行されません。論理的な評価順(FROM→WHERE→GROUP BY→HAVING→SELECT→ORDER BY→LIMIT)を軸に、別名がWHEREで使えない理由、WHEREとHAVINGの使い分け、ONLY_FULL_GROUP_BY、COUNT(*)とCOUNT(列)の差、LEFT JOIN+WHEREの罠を実例で整理します。
SQL JOIN完全リファレンス|INNER・LEFT・RIGHT・FULLの違いと結果行数の考え方
SQLのJOIN種類(INNER/LEFT/RIGHT/FULL/CROSS/SELF)を早見表と結果行数の図解で整理。1対多JOINで行が重複する理由、WHERE句とON句でNULL判定が変わる罠、複数テーブルJOINの書き方まで実例付きで解説します。
最新記事
curlコマンドのオプション早見表|-X -H -d の意味と落とし穴
curlの主要オプションを早見表で整理。-X と -d の関係、-d と --data-raw の違い、@ で始まる値がファイル読み込みになる罠、シングルクォートとダブルクォートの使い分け、-L や -k を安易に付けない理由まで実例で解説します。
JSON SchemaとZodを相互変換する仕組み|requiredと.optional()の対応
JSON SchemaからZodスキーマを生成し、Zodのコードから逆にJSON Schemaを書き出す双方向変換ツールの実装を解説。requiredと.optional()で既定値が逆転している問題、formatや制約の対応表、コードを実行せずに解析する方法まで整理します。
SQLの句の評価順リファレンス|WHEREでSELECTの別名が使えない理由
SQLは書いた順に実行されません。論理的な評価順(FROM→WHERE→GROUP BY→HAVING→SELECT→ORDER BY→LIMIT)を軸に、別名がWHEREで使えない理由、WHEREとHAVINGの使い分け、ONLY_FULL_GROUP_BY、COUNT(*)とCOUNT(列)の差、LEFT JOIN+WHEREの罠を実例で整理します。
unified diff形式の読み方リファレンス|@@ の数字とgit diffの出力
git diffが出力するunified diff形式の読み方を整理。@@ -12,7 +12,9 @@ の4つの数字の意味、コンテキスト行、空白だけの変更が行全体の置換に見える理由、\ No newline at end of file、マージ時の @@@、リネーム検出の similarity index までを実例で解説します。
UTC⇄JST変換リファレンス|時差9時間の早見表とタイムゾーン事故の防ぎ方
UTCとJSTの変換を早見表で整理。ISO 8601のZと+09:00の意味、JavaScriptの日付パースでズレる条件、MySQL/PostgreSQLのタイムゾーン挙動、GitHub ActionsのcronがUTCで動く罠まで実例付きで解説します。
CREATE TABLE リファレンス|MySQL・PostgreSQL・SQLiteの型と制約の違い
CREATE TABLE文(DDL)の書き方を3データベース横断の早見表で整理。型対応表、自動採番(AUTO_INCREMENT / IDENTITY / rowid)の方言差、外部キーのON DELETE挙動、CHECK制約が無視される罠まで実例付きで解説します。