開発者 🔒 ブラウザ内で動作 — データは送信されません

SQL整形ツール

1行のクエリを、句ごとに改行され、キーワードも好みの書き方にそろった読みやすいSQLに変えます。

入力
出力

SQLをオンラインで整形

アプリケーションのログ、ORMのデバッグ出力、同僚のメッセージからコピーしたクエリは、たいてい長い1行です。そのままではレビューもデバッグも時間がかかり、ミスも起こりがちです。このページはSQLに設定したコード整形ツールで、オープンソースのsql-formatterライブラリをブラウザー内で使います。

整形の前と後

クエリselect id, name from users where active = 1 and role in ('admin','editor') order by nameは、ログによくある1行のクエリです。

整形すると、SELECT、FROM、WHERE、ORDER BYがそれぞれ独立した行になり、idとnameはSELECTの下で別々の行にインデントされます。active = 1とAND role IN ('admin', 'editor')はWHEREの下にインデントされるので、条件を1つずつ読んだり、コメントアウトしたり、変更したりできます。

方言が重要な理由

構文方言
`backtick names`MySQL、MariaDB
[bracket names]SQL Server
value::integerによるキャストPostgreSQL
LIMIT、TOP、FETCH FIRSTデータベースごとに異なる

正しい方言を選べば、整形ツールはこれらの書き方をエラーとして扱わずに認識できます。

スタイルのヒント

  • キーワードを大文字にすると、長いクエリの構造がひと目でわかります。多くのチームで必須とされています。
  • 1行に1列にすると、コードレビューの差分で、どの列が変わったのかが正確にわかります。
  • 整形したSQLをバージョン管理に保存し、1行が必要な場面でだけ圧縮しましょう。

関連ツール

クエリの2つのバージョンを比べるには、テキスト比較ツールを使ってください。クエリが返したJSONは、JSON整形ツールで読みやすくできます。