メインコンテンツへスキップ

無料SQL フォーマッタ&ビューティファイアー

適切なインデント、構成可能なキーワードの大文字と小文字の区別、および主要な句の改行を使用して、SQL クエリをきれいに印刷します。あらゆる SQL 方言で動作します。

読み込み後はオフラインでも動作
整形済みSQL
整形済みSQLがここに表示されます…

主な用途

  • コードレビュー用にSQLをフォーマットするコミット前にSQLクエリをクリーンアップして、コードレビューで読みやすくします。
  • バグを見つけるためにSQLをフォーマットするフォーマットは、不足しているJOINや不正にアラインされた条件などの構造的な問題を明らかにします。
  • ドキュメント用にSQLをフォーマットするドキュメント、ブログ投稿、またはチュートリアル内のSQLの例を美しく読みやすくします。
  • ORM生成SQLをフォーマットするORM (Sequelize、Prisma、ActiveRecord) は単一行のSQLを生成します—実際に生成したものを見るためにフォーマットしてください。
  • レポートクエリをフォーマットする大きな分析SQLクエリはフォーマットなしでは管理不可能になります。明確にするためにインデントしてください。

使い方

このSQLフォーマッターは、手書きのトークナイザーとフォーマッターだけで完全に構築されています — 外部ライブラリは使われていません。整形とシンタックスハイライトは、入力するとブラウザ内で即座に実行され、サーバーは関与しません。

  1. 1
    トークナイザーがSQLを分割する
    文字ごとのトークナイザーが入力を走査し、型付きトークンに分解します:文字列リテラル(バックスラッシュのエスケープとSQLの二重引用符スタイル両方を処理)、行コメント(--)、ブロックコメント(/* */)、演算子、括弧、識別子、数値です。空白は単一のスペーストークンに折りたたまれます。
  2. 2
    複合キーワードが結合される
    トークン化の後、2回目のパスが複数語のキーワードを形成する隣接トークンを結合します — そのため「LEFT」に続く「JOIN」は単一の「LEFT JOIN」トークンになり、「GROUP」に続く「BY」は「GROUP BY」になります。これにより、フォーマッターがそれらを単一のレイアウト単位として扱えるようになります。
  3. 3
    ブロックレイアウトまたは最小化
    整形モードでは、ブロックを開始するキーワード(SELECT、FROM、WHERE、JOINなど)は独自の行にインデントゼロで配置され、それに続くすべてはインデントされます。AND/ORは新しいインデントされた行を強制します。最上位の括弧レベルのカンマも新しい行に送られます。最小化モードでは、すべての改行と冗長な空白は単一のスペースで区切られたシーケンスに折りたたまれます。
  4. 4
    正規表現によるシンタックスハイライト
    整形された出力は、コメント、文字列リテラル、数値、識別子を一度のパスで照合する単一の正規表現に通されます。各一致は色クラス付きのReact spanで囲まれます — コメントは控えめなイタリック、文字列はアンバー、数値は紫、SQLキーワード(完全なキーワードセットと照合)はティール — これにより色分けされた出力パネルが生成されます。

関連ツール

よくある質問