コンテンツへスキップ

SQLフォーマッター

SQLのインデントとキーワードの大文字化で可読性を高め、圧縮オプションでクエリを1行にまとめます。

インデント

フォーマット結果

ステータス

フォーマット準備完了

クエリを貼り付けるか、上記の例を編集してください。

行数
-
文字数
-
認識されるキーワード
-

使い方

SQLフォーマッターは、整形されていないクエリやミニファイされたクエリのインデントを再調整し、SELECT、FROM、WHERE、JOIN、GROUP BY、ORDER BYなどの標準キーワードを大文字にして、複数の節を持つクエリを読みやすい行に分割します。

  1. SQLを貼り付け

    サンプルクエリを自身のクエリに置き換えてください。

  2. インデントの選択

    2スペース、4スペース、またはタブを選択できます。キーワードの大文字化はデフォルトでオンになっています。

  3. 整形、圧縮、またはダウンロード

    整形はインデントを再調整し、圧縮は1行にまとめ、ダウンロードは現在のテキストを.sqlファイルとして保存します。

対象範囲と制限

このフォーマッターは標準的なANSI SQLキーワード(SELECT、FROM、WHERE、JOINの各種変形、GROUP BY、HAVING、ORDER BY、LIMIT、INSERT、UPDATE、DELETE、CREATE、ALTERなど)を認識します。シングルクォートまたはダブルクォートで囲まれたリテラル内のテキストは変更されないため、'select all from here'のような文字列や"order"という名前の識別子が誤って大文字になることはありません。

方言固有の構文

PostgreSQLのRETURNING句、MySQLのLIMIT/OFFSETの短縮記法、T-SQLのTOPやNOLOCKヒントなどの方言固有の拡張機能は、誤ってフォーマットされることなくそのまま出力されます。このフォーマッターは、MySQL、PostgreSQL、SQL Serverで共通して動作する標準的なDMLおよびDQLステートメントを対象としています。

データがデバイスの外に出ることはありません

フォーマット処理はすべてブラウザ内で実行されます。テーブル名、カラム名、埋め込み値を含むクエリがサーバーに送信されることはないため、本番環境のテーブル名や機密データを含むクエリを安全に貼り付けて利用できます。

よくある質問

整形されていない1行のSQLクエリを読みやすいコードにフォーマットするにはどうすればよいですか?

入力欄にSQLを貼り付けて「フォーマット」をクリックしてください。フォーマッターがインデントを追加し、標準キーワードを大文字に変換して、複数句からなるクエリを改行します。SELECT、FROM、WHERE、ORDER BYはそれぞれ新しい行で始まり、AND、OR、ONは属する句の下にインデントされて配置されます。

このフォーマッターを使用すると、SQLクエリはサーバーに送信されますか?

いいえ。SQLのフォーマット処理はすべてブラウザ内で実行されます。テーブル名、カラム名、埋め込み値を含むクエリがデバイスの外に出ることはありません。本番環境のテーブル名や内部スキーマの詳細を含むクエリも安全に貼り付けられます。

SQLフォーマッターはMySQL、PostgreSQL、T-SQLなどの複数のSQL方言に対応していますか?

フォーマッターは標準ANSI SQLキーワードを認識してフォーマットします。PostgreSQLのRETURNING句、MySQLのLIMIT/OFFSET簡略記法、T-SQLのTOPやNOLOCKヒントなど、方言固有の構文は再フォーマットされない場合があります。これらは誤って変更されることなく、そのまま出力されます。

SQLの圧縮オプションはどのような場面で使いますか?

ミニファイは空白や改行を削除してクエリを最小限の文字列に圧縮します。これは、アプリケーションコード内にSQLを文字列リテラルとして埋め込む場合や、サイズ制限のある設定ファイルにクエリを保存する場合、またはフォーマットの違いを取り除いて2つのクエリを比較する場合に役立ちます。

カラム名やテーブル名がキーワードと一致する場合、フォーマッターによって変更されますか?

引用符の外側のみが対象です。キーワードのマッチングはシングルクォートまたはダブルクォート内の文字列をスキップするため、「order」という名前のカラムや「select」という単語を含む文字列はそのまま維持されます。本番環境で使用する前に、必ずフォーマット後の出力を確認し、予期しない変更がないことを検証してください。