SQL整形(フォーマッター)
読みにくいSQLを、インデント付きの見やすいクエリに整形。デバッグ、コードレビュー、ドキュメント作成に。MySQL、PostgreSQLなどに対応。無料・登録不要のSQLフォーマッター。
SQLを読みやすく
ログ、ORM、BIツール、同僚のメッセージからコピーしたSQLは、1行の長い文字列になっていることがよくあります:select u.id,u.name,count(o.id) from users u left join orders o on o.user_id=u.id where u.active=1 group by u.id order by 3 desc。このツールは改行を入れ、各句(SELECT、FROM、JOIN、WHERE、GROUP BY、ORDER BY)を正しい位置に置いてインデントするので、ロジックを追えるようになります。
読みやすいSQLは、デバッグ、レビュー、ドキュメント化が楽になります。クエリがきちんと並んでいれば、JOINの条件の抜けやWHEREの位置の間違いもずっと早く見つかります。
MySQL、MariaDB、PostgreSQL、SQLite、SQL Serverなどで使われる標準的なSQLに対応しています。
SQL整形ツールの使い方
- SQLクエリを貼り付けます。
- 送信して整形します。
- 整形したSQLを読むかコピーします。
使用例
1行のレポート用クエリ
入力:
select u.id, u.name, count(o.id) as orders from users u left join orders o on o.user_id = u.id where u.active = 1 group by u.id, u.name order by orders desc limit 10
出力:
select
u.id,
u.name,
count(o.id) as orders
from
users u
left join orders o on o.user_id = u.id
where
u.active = 1
group by
u.id,
u.name
order by
orders desc
limit
10
各句が1行ずつになり、各列がインデントされます。キーワードは入力した大文字・小文字のままです。
UPDATE文
入力: UPDATE products SET price = price * 1.1 WHERE category_id IN (3, 7);
出力:
UPDATE
products
SET
price = price * 1.1
WHERE
category_id IN (3, 7);
主な用途
- アプリのログやORMのデバッグ出力から取ったクエリを読む。
- コードレビューやプルリクエスト用にSQLを整える。
- わかりやすい例を載せたドキュメントやチュートリアルを書く。
- JOINやサブクエリの多い長いクエリをデバッグする。
- BIツールやノートブックに保存する前にクエリを整える。
- 1行になっていることが多い、アプリのログからコピーしたクエリを読む。
知っておきたいポイント
- 整形で変わるのは空白だけです。SQLの検証はせず、結果も変わりません。
- オンラインのどこかに貼り付ける前に、実際の顧客データやパスワードはクエリから取り除いてください。
- キーワードは大文字、1行に1列など、チームで統一したスタイルを決めましょう。
- 識別子のスタイルは大文字・小文字変換で変えられ、JSONの結果はJSON整形ツールで整えられます。
特殊なケースと制限
- キーワードは大文字に変換されません。チームのスタイルが大文字なら、大文字で入力してください。
- セミコロンで区切った複数の文は、順番に整形されます。
- コメントは残ります。文字列や引用符で囲んだ識別子は変わりません。
よくある質問
整形するとクエリの動作は変わりますか?
いいえ。変わるのはスペースと改行だけなので、クエリは同じ結果を返します。
どのSQL方言に対応していますか?
MySQL、PostgreSQL、SQLite、SQL Serverなどのデータベースで使われる標準的なSQLのキーワードは、きれいに整形されます。
SQLのエラーもチェックしますか?
いいえ。テキストを整形するだけです。エラーの確認はデータベースでクエリを実行してください。
SQLのキーワードは大文字にすべきですか?
必須ではありませんが、キーワードを大文字にするのは一般的な慣習で、クエリが読みやすくなります。
関連ツール
- JSON整形・検証ツール: JSONが正しいかを検証し、見やすく整形します。
- 大文字・小文字変換: テキストを小文字、大文字、camelCaseなど好きな書式に変換します。
- JavaScript圧縮(ミニファイ): 不要な文字をすべて取り除いてJavaScriptを圧縮します。
- HTMLエンティティ変換: 入力したテキストのHTMLエンティティをエンコード・デコードします。
- テキスト区切り変換: 改行、カンマ、ドットなどで区切られたテキストを相互に変換します。
人気の無料ツール
安全なランダムパスワードをワンクリックで自動生成。文字数や大文字・小文字・数字・記号を自由に指定できます。無料・登録不要でブラウザだけで使えます。
英文を大文字・小文字・先頭大文字・camelCase・PascalCase・snake_case・CONSTANT_CASE・kebab-caseなどに一括変換。無料・登録不要でブラウザですぐ使えます。
電話番号とあらかじめ入力したメッセージで、WhatsAppのクリックしてチャットできるwa.meリンクを作成。Webサイト、プロフィール、広告、QRコードに。無料・登録不要。
ドメインのDNSレコード(A・AAAA・CNAME・MX・NS・TXT・SOA)を確認。メール設定、SPF、ドメイン認証、ネームサーバーのチェックに。無料・登録不要。
QRコードの画像やスクリーンショットをアップロードするだけで、中のURLやテキストを読み取れます。スマホ不要。開く前にリンク先を確認できます。無料。
URLをスキーム、ホスト、パス、クエリパラメーターに分解して表示。計測リンク、UTMタグ、APIのエンドポイントの確認や、怪しいリンクの見極めに。無料・登録不要。