本文へスキップ
snowkitDev

乱れたSQLを読みやすく

ログ、ORM、同僚から受け取ったクエリを貼り付けると、各句が1行ずつ、サブクエリが入れ子に、キーワードが好みの大文字小文字で、きれいにインデントされて返されます。

SQLフォーマッター

クエリを貼り付けると、入力に合わせて、整ったバージョンが表示されます。

キーワード
結果

            

ログ、ORM、同僚からのクエリを貼り付けると、各句が別の行になり、サブクエリが入れ子になり、好みの大文字小文字のキーワードで、きれいにインデントされて戻ってきます。または逆に、1行に詰めます。クエリは、この端末にとどまります。無料です。

SQLを整形する方法、手順ごとに

  1. クエリを「SQL」のボックスに貼り付けます。入力に合わせて、整ったバージョンが表示されます。
  2. 「整形」または「ミニファイ」を選んでください。
  3. 「キーワードの大文字小文字」(大文字、小文字、入力どおり)と「インデント」(スペース2つ、スペース4つ、タブ)を選びます。
  4. 長い列のリストを広げたい場合は、「1行に1列」をオンにします。
  5. 「SQLをコピー」または「.sqlをダウンロード」を押します。

整形されるもの

SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY、LIMITは、それぞれ新しい行から始まり、その内容は、下にインデントされます。すべての種類のJOINは、FROMの下に揃い、ANDとORの条件は、それぞれの行になり、CASE式は、WHENごとにレイアウトされ、サブクエリとWITH句は、ブロックとしてインデントされます。INSERT、UPDATE、DELETE、CREATE TABLEにも対応し、1行に1つの列定義になります。

どのデータベースでも安全

フォーマッターが変更するのは、空白とキーワードの大文字小文字だけです。文字列、二重引用符、バッククォート、角括弧で囲まれた名前、$1、?、:nameのようなプレースホルダー、::intのようなPostgresのキャストは、書かれたとおりに残されるため、PostgreSQL、MySQL、SQLite、SQL Server、Oracle、BigQuery、Snowflakeのクエリのどれにも使えます。

ミニファイするタイミング

ミニファイは、コメントと余分なスペースを削除して、クエリを1行にします。ログの検索、環境変数、JSONのペイロード、クエリ文字列を作るコードに便利です。文字列内のスペースには、決して手を加えません。

SQLを整形する理由

  • 読みやすいクエリは、レビューもデバッグもしやすくなります。
  • 一貫したスタイルは、チームの助けになり、コードレビューを速くします。
  • 結合条件の抜けや、括弧の位置のずれを、より早く見つけられます。
  • 整ったサンプルは、チケット、ドキュメント、質問で共有しやすくなります。

スプレッドシートやデータベースファイルでクエリを実行するには、SQLプレイグラウンドを使ってください。JSONには、JSONツールを、他のコードには、コードフォーマッターをお試しください。

よくある質問

SQLが正しいかチェックしますか?

いいえ。レイアウトを整えるだけで、クエリを実行したり、データベースと照合したりはしません。

クエリはどこかに送信されますか?

いいえ。ブラウザ上で整形されます。

ストアドプロシージャに使えますか?

一般的な文に対応しています。データベース固有の度合いが強いコードでは、一部のレイアウトがそのまま残ることがあります。

次はこちら

作ったものを、そのまま端末上で続けましょう。

Snowkitのその他