SQL フォーマッタとは何ですか?
SQL Formatter は、高密度で単一行または一貫性のない書き込みの SQL を、読みやすくレビューしやすいクエリに変えます。 select、FROM、WHERE、JOINs、GROUP BY、ORDER BY、HAVING、LIMIT、UNION - という各主要節を独自の行に配置し、SELECT 列を別の行に分割し、その節の下に AND/OR 条件をインデントし、キーワード ケーシングを上下に正規化します。その結果、コード レビューで必要なレイアウトが得られます。ORM ログからの 400 文字のクエリは、欠落している結合条件をスキャンできる構造になります。
SQL クエリ フォーマッタとしては、select top 10 [Order ID], total from dbo.[Order Details] where total > 100 and status = 'open' のような行を取得し、最初の行で SELECT TOP 10 を返し、[Order ID] and total を独自のインデント行で返し、次に FROM、次に WHERE に AND 条件をインデントします。 SQL Server ユーザーは、これを SSMS 用の SQL フォーマッタとして扱うことができます。このオンライン SQL フォーマッタで T-SQL をフォーマットし、その後 SQL Server Management Studio に貼り戻します。これは SSMS 拡張機能ではなく Web ページであるため、インストールするものは何もありません。
内部的には、実際のトークナイザーであり、検索と置換のルールの山ではありません。 文字列リテラル (二重引用符とバックスラッシュ エスケープを含む)、二重引用符付きおよびバックティック引用付き識別子、括弧付き SQL Server 識別子、数字、演算子、および両方のコメント スタイル (-- 行と /* ブロック */) は、レイアウト決定が行われる前に、アトミック トークンとしてレックスされます。 つまり、文字列内の「SELECT * からユーザー」のような列値が句と間違われることはなく、書式設定によって文字通りのコンテンツを破損することなく、空白を再構成できます。
Minify モードはその逆を行います。フォーマットされたクエリを 1 行に折りたたみます。コメントを削除し、リテラル バイトごとにすべてのバイトを保存します。これは、ログ グレッピング、クエリを JSON ペイロードまたは.env ファイルにパッキングし、クエリの形状を比較するのに役立ちます。すべてがブラウザでクライアント側で実行されるため、テーブル名、リテラル内の顧客データ、またはスキーマの詳細を含む運用クエリは、アップロード、ログ記録、またはどこにでも保存されることはありません。
フォーマットは正規表現ベースではなくトークナイザーベースであるため、文字列リテラルと SQL キーワードを含むコメントは、コードのように再フォーマットされません。 方言は、特に、フォーマッタが解決できない点で異なるため、特に識別子の引用に関しては、出力は、ポータブルを保証するのではなく正規化します。
SQL フォーマッターの使い方
SQL を貼り付けます
任意のクエリー - ORM デバッグ ログからのワンライナー、手書きのレポート クエリ、またはセミコロンで区切られた複数ステートメント スクリプト。
キーワード ケースとインデントを選択
キーワードは大文字または小文字を選択し、チームの慣習に合わせてインデントの 2、4、または 8 スペースを選択します。
[フォーマット] または [縮小] をクリックします
形式は、選択した列を、それ自体の線および/またはインデントされた条件で行ごとに出力します。 Minify は、コメントを削除し、リテラルを変更しないで、すべてを 1 行に折りたたむことができます。
コピーまたはダウンロード
コード レビューまたは移行ファイルを作成するために、結果をクリップボードにコピーするか、.sql ファイルとしてダウンロードします。
主な機能
トークナイザーベース、リテラルセーフ
文字列リテラル、引用符付きの識別子、コメントは最初にレックスされます - 書式設定によって引用符内のデータを変更することはできません
節に注意する改行
select, from, where, join varited, group by, order by, haveing, limit, and union それぞれの行を開始します, ネストの深さでインデントされたサブクエリを使用して、それぞれの行
キーワード ケースの正規化
包括的なキーワード リスト (DML、DDL、関数、タイプ) は大文字または小文字に変換され、識別子は記述どおりにそのまま残されます。
1 行につき 1 つの選択列
コンマ区切りの選択リストが、個々のインデントされた行に分割され、幅広いクエリがプル リクエストで異なるようにします。
Frequently Asked Questions
Related Tools
CSS Minifier & Beautifier
Minify CSS to cut file size or beautify minified stylesheets for debugging
HTML Minifier & Beautifier
Minify HTML markup for faster page loads or beautify it for readable, indented source
JSON to SQL Converter
Convert a JSON array of objects into SQL CREATE TABLE and INSERT statements for MySQL, PostgreSQL, or SQLite. Infers types, runs client-side.
JSON to TOML Converter
Convert JSON to TOML 1.0. Objects become tables, arrays of objects become arrays of tables, and everything is rendered inline where TOML expects it.
Comments
0 comments
No comments yet. Be the first to share your thoughts!