256 Tools

SQLフォーマッター

整形後のSQL
SELECT id,
  name,
  email
FROM users u
JOIN orders o
  ON o.user_id = u.id
WHERE u.age >= 18
  AND o.status = 'paid'
ORDER BY o.created_at desc
LIMIT 20;

関連する外部サイト

一部のリンクはアフィリエイトリンクを含みます。

関連ツール

1行に詰め込まれたSQLクエリを貼り付けると、主要な句を改行・インデントし、キーワードを大文字に揃えて見やすく整形します。コードレビューやデバッグに最適です。すべてブラウザ内で完結し、SQLがアップロードされることはありません。

使い方

  1. 入力欄にSQLクエリを貼り付けます。
  2. キーワードを大文字にするかどうかを選びます。
  3. 整形結果をコピーします。

仕組み

クエリはキーワード・識別子・文字列・記号のトークンに分解されます。SELECT・FROM・WHERE・JOIN・ORDER BY などの主要な句は新しい行から始まり、カンマ区切りのカラムはインデントされて折り返し、AND・OR・ON などの結合演算子は句の下にインデントされます。文字列リテラルはそのまま保持され、行コメントは削除されます。

1行のクエリが複数行インデントのSQLになる。select a,b from tSELECT a, bFROM t

機能

句ごとの改行

主要な句それぞれが独立した行から始まり、構造が一目でわかります。

カラムの折り返し

カンマ区切りのカラムが一定のインデントで折り返されます。

キーワードの大文字化

SQLキーワードを慣例的な大文字スタイルに揃えられます(任意)。

完全ローカル処理

整形はブラウザ内で行われ、SQLがアップロードされることはありません。

活用シーン

ログのSQL確認

ログに記録された長い1行クエリを読みやすい形式に変換します。

コードレビュー

レビューやコミット前にクエリを統一したスタイルで整形します。

SQL学習

クエリの構造を句ごとに視覚的に確認できます。

ドキュメント作成

整形済みSQLをドキュメント・チケット・Wikiに貼り付けます。

注意事項

  • 汎用フォーマッターのため、すべてのSQL方言を完全にはカバーできない場合があります。
  • 文字列リテラルはそのまま保持されます。行コメントは削除されます。
  • 非常に複雑なネストクエリは、手動で微調整が必要な場合があります。
  • すべての処理はデバイス上で行われ、アップロードはされません。

よくある質問

どのSQLに対応していますか?
ほとんどのデータベースで共通のSELECT・INSERT・UPDATE・DELETE構文に対応しています。方言専用のパーサーではなく、汎用フォーマッターです。
キーワードの大文字化は必須ですか?
いいえ、任意です。オフにすると元のキーワードの大文字・小文字を保持したまま改行とインデントのみが適用されます。
方言固有の構文は処理できますか?
一般的な構文は問題なく整形されますが、方言特有の機能は整形後に手動で微調整が必要な場合があります。
不正なSQLはどうなりますか?
検証は行わず、できる限り整形します。構文エラーがあるクエリは整形されますが修正はされません。
SQLはサーバーに送信されますか?
いいえ。整形はすべてブラウザ内で完結し、アップロードは一切されません。

広告と解析のために Cookie を使用します。