SQL Formatter & Minifier
Beautify or compress SQL across PostgreSQL, MySQL, SQLite, BigQuery, MS SQL, and Standard SQL. Keyword case, indent size, and dialect-aware parsing — all running locally in your browser.
Input SQL
Output
オンラインで SQL をフォーマットする方法
SQL クエリを SQL入力 パネルで、 方言 キーワードの大文字と小文字を区別してクリックします SQLのフォーマット — または、自動実行をオンのままにして、入力時にフォーマットします。使用 縮小する ソース コードまたは URL パラメータに埋め込む空白を折りたたむことができます。の スワップ ボタンを使用すると、両方のモード間を往復できます。
なぜ方言が重要なのか
SQL は理論上の標準ですが、すべてのデータベース ベンダーが独自の構文で SQL を拡張しています。適切な方言を選択すると、パーサーはベンダー固有のトークン (PostgreSQL のトークン) を確実に認識します。 ::type キャストと DISTINCT ON、MySQL のバッククォート識別子と ON DUPLICATE KEY UPDATE、BigQuery の STRUCT/ARRAY リテラル、T-SQL TOP (n) そして [bracketed] 識別子とOracleの CONNECT BY そして WHEN MATCHED。迷ったときは、まず始めてみましょう 標準SQL 解析エラーが発生した場合は、一致する方言に切り替えます。
フォーマットと縮小
形式 (きれいに印刷) 改行とインデントを追加してクエリを監査可能にし、コード レビュー、移行、ドキュメント化に最適です。 縮小する クエリを 1 つのコンパクトな行に折りたたんで、アプリケーション コード、ログ行、または URL パラメーターに埋め込むのに適しています。単線 -- コメントは、1 行の SQL に続くすべてのものをコメントアウトするため、縮小中に削除されます。
プライバシー
何もアップロードされていません。パーサーとフォーマッタは、オープンソースを使用してブラウザ内で完全に実行されます。 sql-formatter 図書館。運用クエリ、スキーマ名、ハードコードされた値はマシン上に残ります。クラウド サービスに貼り付けることのない機密性の高い SQL で安全に使用できます。
よくある質問
書式設定によりクエリの意味が変わりますか?
いいえ。書式設定では、空白、インデント、およびオプションでキーワードの大文字と小文字が書き換えられるだけです。論理クエリ (テーブル、列、述語、結合、サブクエリ) は正確に保持されます。文字列リテラルとコメントもそのまま残ります。
クエリのフォーマットが失敗するのはなぜですか?
パーサーには構文的に有効な SQL が必要です。一般的な原因: 閉じられていない引用符または括弧、方言の不一致 (標準 SQL での MySQL バッククォートのフォーマットなど)、または次のような中間ステートメントのテンプレート プレースホルダー {{var}}。フォーマットする前に方言を切り替えるか、テンプレート トークンを削除してみてください。
minifyはコメントを削除しますか?
縮小すると空白と改行が折りたたまれます。単線 -- コメントは 1 行 SQL では問題になります。これは、同じ行にあるコメント以降のすべてがコメント化され、削除されるためです。コメントをブロックする /* … */ 基本的には保存されますが、配置によっては削除される場合があります。コードに貼り付ける前に出力を確認してください。
複数のステートメントを含むファイルをフォーマットできますか?
はい。ステートメントはセミコロンで区切ると、それぞれが独立してフォーマットされます。これは、移行スクリプト、シード ファイル、および複数ステートメントのストアド プロシージャ本体に適しています。
キーワードは大文字にする必要がありますか?それとも小文字にする必要がありますか?
それはスタイルの好みです。大文字のキーワード (SELECT、 FROM、 WHERE) は従来の規則であり、キーワードが識別子から目立つため、クエリをスキャンしやすくなります。最新のコードベースでは小文字の人気が高まっています。 1 つを選択し、プロジェクト全体に一貫して適用します。