ESC
SQL入力
整形済み出力

0

入力サイズ

0

出力サイズ

0

行数

0

SQLキーワード数

使用例

複雑なクエリの整形

複数のJOIN、WHERE条件、ORDER BY句を含む複雑なSELECTクエリを読みやすいSQLに整形します。

select u.id, u.name, o.order_id from users u inner join orde...
CREATE TABLEとINSERT

テーブル作成スクリプトやINSERT文を読みやすく美化します。

CREATE TABLE employees (id INT PRIMARY KEY, first_name VARCH...
複数テーブルJOIN

集計関数やGROUP BY句を含む複数テーブルJOINクエリを整形します。

select d.department_name, count(e.id) as employee_count from...

機能

SQL美化

適切なインデント、改行、句の分離でSQLを整形

キーワード大文字化

SELECT、FROM、WHERE、JOINなどのSQLキーワードを自動的に大文字に変換

複数文サポート

SELECT、INSERT、UPDATE、DELETE、CREATE、ALTER文を整形

設定可能なオプション

スタイルに合わせてインデントサイズとキーワードの大文字小文字を選択

使い方

1

SQLを入力

SQLクエリを入力エリアに貼り付けるか、サンプルを試してください。

2

設定を構成

お好みのインデントとキーワードの大文字小文字オプションを選択します。

3

整形してコピー

整形をクリックしてSQLを美化し、結果をコピーまたはダウンロードします。

よくある質問

一般的なSQLの全範囲(SELECT(FROM, WHERE, GROUP BY, HAVING, ORDER BY, LIMITを含む), INSERT INTO, UPDATE SET, DELETE FROM, CREATE TABLE, ALTER TABLE, DROP, およびすべてのJOINタイプ(INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN, CROSS JOIN))を処理します。また、UNION, UNION ALL、サブクエリ(インラインおよび相関)、CTE(WITH句)、および集約関数も対応しています。主要な各句は独自の行に配置され、入れ子状のサブクエリは親クエリに対してインデントされます。

いいえ。フォーマッターは空白、インデント、および(オプションで)キーワードの文字ケースのみを変更します。テーブル名、列名、条件、結合、式などの論理構造が変更されることは決してありません。フォーマットされたクエリは、データベースで実行した際に元のクエリと全く同じ結果を生成します。ロジックの変更のリスクを心配することなく、安全にフォーマットしてアプリケーションに戻すことができます。

はい。単一行のSQLコメント(-- 行の終わりまで)とブロックコメント(/* マルチラインコメント */)は認識され、フォーマット後の出力にも保持されます。文字列リテラル(シングルクォートで囲まれた値)、引用符付き識別子(方言によってバッククォートまたはダブルクォート)、および数値リテラルはすべて正しく処理されます。これらはフォーマット中に行をまたいで分割されたり、変更されたりすることはありません。文字列内の入れ子状の引用符やエスケープされた文字も保持されます。

SQLの標準規格として定められているわけではありません。ほとんどのデータベースでは、キーワードはどちらのケースでも動作します。しかしながら、SQLコードにおいて大文字のキーワード(SELECT, FROM, WHERE, JOIN)が圧倒的に主流となっているのには、重要な理由があります。それは「可読性」です。フォーマットされたSQLクエリをスキャンする際、大文字のキーワードは小文字のテーブル名や列名から際立ち、クエリの構造を一瞬で把握できるようになります。このツールはデフォルトで大文字のキーワードを使用します。これは、Google、GitLab、Kickstarterなどの多くのSQLスタイルガイドでも採用されている慣習です。

はい、一般的なフォーマット目的であれば可能です。コアなSQL構文(SELECT, JOIN, WHEREなど)は、MySQL, PostgreSQL, SQLite, SQL Server, Oracle間で共通です。データベース固有の構文も通常受け入れられますが、完全にフォーマットされない場合もあります(例:PostgreSQL固有の :: 型キャスト、SQL Server T-SQL固有の関数、またはMySQLの LIMIT/OFFSET 構文など)。特定の方言のコードで予期しないフォーマットが見られた場合でも、論理自体は正しいものです。インデントの表示のみが異なる場合があります。

フォーマットされていないSQLは、コードレビューでバグを見逃す一般的な原因です。クエリが一つの長い行になっていると、欠落しているJOIN条件(直積を引き起こす)、誤って省略されたWHERE句(全行に影響する)、またはAND/OR条件の不適切な優先順位を見逃しやすくなります。フォーマットされたSQLは、各句と条件を独自の行に配置するため、構造的なエラーが視覚的に明らかになります。多くのチームがまさにこの理由から、レビュー前にSQLをフォーマットすることを要求しています。

基本的なマルチステートメントSQL(セミコロンで区切られた複数のSELECTまたはINSERTステートメント)は処理され、各ステートメントが独立してフォーマットされます。しかし、ストアドプロシージャ、PL/pgSQL、BEGIN/ENDを含むT-SQLブロック、および複雑な手続き型SQLは、このフォーマッターは標準的なDML/DDLステートメントに焦点を当てているため、きれいにフォーマットされない場合があります。ストアドプロシージャの場合は、定義全体ではなく、プロシージャ本体内の個別のステートメントをフォーマットするようにしてください。

いいえ。すべてのフォーマット処理はブラウザ内でJavaScriptを使用して実行されます。クエリ内のテーブル名、列名、データ値、または接続文字列を含むあなたのSQLクエリが、デバイスから外に出ることは決してありません。そのため、本番環境のデータ参照や独自のスキーマ情報を含むプロキシクエリを安全にフォーマットできます。

SQLフォーマッターとは?

コードベースに誰かが残した500文字のフォーマットなしSQLクエリ。読めたもんじゃない。ここに貼り付けて整形ボタンを押せば、JOINやWHERE句、サブクエリがはっきり見えるようになります。適切なインデントを追加し、各句を独立した行に配置し、好みに応じてキーワードを大文字にできます。

SQLフォーマッター使用のメリット

整形されたSQLはデバッグできるSQL。クエリが間違った結果を返したとき、最初のステップはそれを読めるようにすること。コードレビューも速くなります。レビュアーは1行をスクロールする代わりに、ロジックの問題を一目で発見できるからです。ブラウザ内で完結するので、データベースクエリはプライベートなまま。

セキュリティとプライバシー

あなたのデータの安全を最優先しています

ローカル処理

すべての処理がブラウザ内で完結します

データ送信なし

データはサーバーに送信されません

保存しません

データは保存も共有もされません

SSL暗号化

安全な通信でご利用いただけます

次のステップ

MoreOnlineToolsでもっと見る