🌐 JA

🗄️ SQL整形ツール

一般的なSQLを句ごとの改行とインデントで整形します。対応しているSQLは1行に圧縮できます。圧縮するとコメントは削除されます。キーワードの大文字化は任意です。

サンプル

このツールはSQLを整形しますが、検証、データベース固有の互換性確認、クエリの意味の確認は行いません。

SQLはこのデバイス上でのみ処理されます。

ガイド

詳しく見る

01

1. SQLを整形する理由

1行で書かれたSQLやORMが生成したSQLは、結合(JOIN)が増えるほど読みにくくなります。句(SELECT、FROM、WHERE、JOIN、GROUP BY、ORDER BYなど)ごとに改行してインデントを揃えると、どのテーブルをどの条件で結合しているか、WHERE条件は何かが一目で把握でき、コードレビューやデバッグが速くなります。

02

2. このツールの整形ルール

このフォーマッターはSELECT、FROM、WHERE、JOINなどの句の前で改行し、ANDとORを1段階インデントして条件を分けます。カンマ区切りのリストは1行ずつに配置し、括弧内の内容はさらに1段階インデントします。SQLのバリデーターでも、すべての方言を解析するパーサーでもなく、トークンを整形するツールです。名前付きパラメーターやベンダー固有のリテラルなど、安全に保持できない構文はエラーになります。その場合はクエリを変更せず、その構文に対応したSQLツールで元のクエリを使ってください。

03

3. Minifyとその使いどころ

圧縮(minify)はコメントを削除し、不要な空白・改行をなくして1行にまとめます。ログにクエリを残したり、ストアドプロシージャ・マイグレーションスクリプトのサイズを縮小したり、他のツールに貼り付けるために1行が必要な場合に便利です。文字列リテラル(引用符で囲まれた値)の内容はそのまま保持されるため、データの値が壊れることはありません。

よくある質問

すべてのSQL方言(MySQL、PostgreSQL、Oracleなど)に対応していますか?
いいえ。このツールはSQLのバリデーターでも、方言ごとのパーサーでもありません。一般的なSQLトークンやJOINの形式を整えますが、名前付きパラメーターやベンダー固有のリテラルなど、安全に保持できない構文は処理せず、エラーを表示します。その場合はクエリを変更せず、データベースまたはその構文に対応したSQLツールで元のクエリを使ってください。
文字列内のSQLキーワードも大文字に変換されますか?
いいえ。引用符('...'、"..."、`...`)で囲まれた文字列リテラルはトークン化の段階で別途認識され、大文字小文字変換や改行処理の対象外となります。
入力したクエリはサーバーに送信されますか?
いいえ。整形・圧縮どちらもブラウザ内だけで処理され、サーバーには送信されません。
インデント幅を変更できますか?
はい。インデントの選択メニューから2スペースまたは4スペースを選べます。