SQLの整形とminify - 長いクエリを読む

SQLの整形とminify

このツールでできること

理解しなければならないクエリは、たいてい自分が書いたものではありません。ログから、ORMから、同僚のメッセージから来ます。1行、4つのjoin、そして終わりの見えないwhere。このページはそれを行に分けて形を見えるようにし、他の何かが読む必要が出れば1行に戻します。

使い方

  1. 1 クエリを貼り付けます。1文でもスクリプト全体でも構いません。
  2. 2 字下げを選び、整形かminifyを押します。
  3. 3 文字は同じ枠の中で変わります。コピーするか、元に戻すを押してください。

1行のコメントは、行がなくなると危険になる

「--」のコメントは行末まで効きます。minifyは改行を取り除くので、そのまま残したコメントは後続をすべて飲み込みます。クエリは動きますが、黙って途中で終わるだけです。だからここでのminifyは行コメントを完全に取り除きます。そして文字列の中の「--」はそのまま残します。そこではそれはデータであって、コメントではないからです。

引用符と、二重ねの引用符

SQLでは、文字列の中の引用符は二重ねで書いて逃がします。'O''Brien'。2つめの引用符で文字列を閉じてしまうツールは、名前の残りをコードとして読み、そこから先で見つける予約語はすべて幻です。引用符付きの識別子も同じです。`order`、"group"、[limit] は名前であり、名前の中の予約語は予約語ではありません。

クエリを書き換えることはしない

予約語を大文字にせず、括弧を簡略化せず、別名も付け替えません。動くのは空白だけです。これは大事なことです。整形したクエリはたいてい、チームがレビューするファイルへ戻っていくからです。大小文字の変更で埋まった差分は、本当に変わった1行を隠してしまいます。小文字の予約語は流儀であって、誤りではありません。

整えることは、確かめることではない

このページはデータベースにつながることがありません。ですから、あるテーブルが存在するのか、joinが正しいのか、そのクエリが遅いのかは分かりません。読むのは文字で、動かすのは空白です。差し出せるのは形です。形の見えるクエリこそ、筋道を立てて考えられるクエリです。

SQL整形 - よくある質問

MySQL、PostgreSQL、SQLite、SQL Server、Oracleのいずれでも動きます。このツールが見分ける必要があるのは、文字列・コメント・引用符付きの名前・句の予約語だけで、どの方言にも共通する部分だからです。バッククォート、二重引用符、角かっこはすべて識別子の引用として扱うので、どのデータベースのクエリかを伝える必要はありません。

よく使われる整形ツール

新着
XML整形 ごちゃついたXMLを字下げして読めるように、あるいは削って軽くします。RSS・CDATA・名前空間に対応し、文書を書き換えません。
本日の人気
JSON 整形 ブラウザーだけで JSON を整形・圧縮・検証。エラーは行と列で示され、折りたたみ可能なツリーで構造も確認できます。

関連する開発ツール

JSON 整形 ブラウザーだけで JSON を整形・圧縮・検証。エラーは行と列で示され、折りたたみ可能なツリーで構造も確認できます。
HTML整形 ごちゃついたHTMLを字下げして読めるようにも、削って軽くもできます。断片にも使え、あなたのマークアップを別物に書き換えることはありません。
CSS minify コメントと空白を削ってCSSを縮め、あるいは整った字下げで開き直します。calc()内の空白、文字列、ライセンス表記はそのまま。
XML整形 ごちゃついたXMLを字下げして読めるように、あるいは削って軽くします。RSS・CDATA・名前空間に対応し、文書を書き換えません。

その他のおすすめツール

WordをPDFに変換 Wordを無料でPDFに変換。DOC・DOCX・ODT・RTFをアップロードすると、体裁を保ったPDFを数秒でダウンロードできます。
PDFをWordに変換 PDFを無料でWordに変換。PDFをアップロードすると、数秒で編集可能なDOCXをダウンロードできます。登録も透かしも不要。
ワードカウンター 無料の文字数カウント。テキストを貼るだけで単語・文字・文・段落を数え、読了時間の目安も表示。データは送信されません。
文字カウンター 無料の文字数カウント。スペースあり・なしの文字数、単語数、行数を数え、タイトルやメタディスクリプションの目安も確認できます。
キーワード密度チェッカー 無料のキーワード出現率チェッカー。テキストやURLを入力すると、各語句の出現回数と割合がわかります。