SQL フォーマッター

適切なインデント、キーワード大文字化、および句の分離で SQL クエリをフォーマットおよび美化します。SELECT、INSERT、UPDATE、DELETE、CREATE TABLE、および JOIN をサポートします。MySQL、PostgreSQL、および SQLite 構文で動作します。

Examples:

SQL フォーマッターの使い方

  1. 1SQL クエリを入力フィールドに貼り付けます。
  2. 2SQL キーワードが大文字化され、クエリが適切なインデント付きで再フォーマットされます。
  3. 3句が改行に分離されて読みやすくなります。
  4. 4フォーマットされた SQL をコピーしてドキュメント、コードレビュー、またはデータベースツールで使用します。
Zenovayアナリティクス

今、誰がサイトにいるかを把握。

  • リアルタイムの訪問者トラッキング
  • プライバシーファースト、クッキーバナーなし
  • 2分でセットアップ
Zenovayを見る

よくある質問

このフォーマッターはどのSQLダイアレクトをサポートしていますか?
このフォーマッターは標準SQLおよびほとんどの主要なダイアレクト(MySQL、PostgreSQL、SQLite、SQL Server(T-SQL)、Oracle)で機能します。SELECT、INSERT、UPDATE、DELETE、CREATE、ALTER、DROP、WITH(CTE)、JOINバリアント、サブクエリ、CASE式を処理します。PostgreSQL::キャスティングやMySQLバッククォーク識別子などのダイアレクト固有の構文は同じように保持されます。
このフォーマッターはクエリのロジックを変更しますか?
いいえ。フォーマッターは空白とキーワードのケーシングのみを変更します。句を並べ替えたり、値を変更したり、識別子を変更することはありません。文字列リテラル(単一引用符付きの値)は、内部の空白を含めて完全に保持されます。フォーマット済みSQLは元のものと意味的に同一です。
キーワードが大文字化されるのはなぜですか?
SQLキーワードの大文字化は広く採用されている規則です。(SQL標準はその文書で大文字を使用しています)。予約語をテーブル名、列名、エイリアスから視覚的に分離し、クエリの読みやすさとデバッグが容易になります。Google、GitLab、dbtなど、ほとんどのSQLスタイルガイドは大文字キーワードを推奨しています。
JOINおよびサブクエリのインデントはどのように機能しますか?
JOIN句はFROMキーワードと同じインデントレベルで配置されます。ON条件は1レベルインデントされます。括弧内のサブクエリはそのコンテキストに相対的にインデントされます。CTE(WITH句)は、各CTEが独自のインデントブロックで利用できるようにフォーマットされます。CASE/WHEN/THEN/ELSE/ENDブロックはその構造を明確に示すためにインデントされます。