Skip to content
SQLフォーマッター
Tools

SQLフォーマッター

新着

SQLクエリを整形・圧縮。キーワードの大文字小文字と句の改行に対応。

Mode
0 lines 0 characters

Runs entirely in your browser. Nothing is uploaded.

ブラウザで動く無料オンラインSQLフォーマッター

このSQLフォーマッターは、ワンクリックで読みにくい密度の高いSQLクエリを、きれいに整形されたSQLへと変換します。クエリを貼り付け、スタイルを選択するだけで、整形結果が即座に表示されます——インストール不要、アカウント作成も不要。すべてのクエリはブラウザ上でローカル処理されるため、貼り付けたSQLがアップロードされることはありません。実際のテーブル名やスキーマ情報、サンプルデータが含まれる場合にも安心です。

SQLビューティファイアーおよびコード整形ツールとして、各句を独立した行に配置し、列と条件をインデントし、JOINを揃えます——IDEプラグインと同様の読みやすいレイアウトを、スマートフォンを含むあらゆるデバイスで、どこでも利用できます。

整形または圧縮——主要ダイアレクトすべてに対応

2つのモードを切り替えられます。整形はクエリを複数行の整然としたレイアウトに展開し、圧縮は1行に折りたたんでコメントを削除します——コードや設定ファイルにクエリを埋め込む際に最適です。SQLを圧縮するには、モードを切り替えてコピーするだけです。

基本的なフォーマッターと異なり、このツールはダイアレクトを識別します。MySQLPostgreSQLSQL Server(T-SQL)Oracle、SQLite、BigQuery、Snowflake、または標準SQLを選択すると、そのエンジンに対応した整形が行われます——MySQLのバッククォート識別子や#コメント、T-SQLの角括弧識別子[Order Details]なども認識し、PostgreSQLフォーマッターT-SQLフォーマッターOracle SQLフォーマッターがすべて1か所にまとまっています。

キーワードの大文字化、インデント、カンマスタイル——自分好みに設定

整形スタイルは個人の好みによるため、人気フォーマッターが有料で提供するような設定項目をこのツールは無料で提供しています。キーワードの大文字化をUPPERCASE(SELECTやFROMを目立たせるクラシックな慣例)、lowercase、先頭大文字、または現状維持(入力した大文字・小文字をそのまま保持)から選択できます。

SQLインデントの幅——スペース2つ、スペース4つ、またはタブ——を選び、SELECTリストのカンマを末尾または先頭のどちらに置くかを設定できます。サブクエリは自動的に1段深くインデントされ、文字列リテラルとコメントは常にそのまま保持されるため、クエリ内容が破損することはありません。

なぜSQLを整形するのか?

読みやすいSQLはデバッグしやすく、レビューしやすく、バージョン管理でのdiffもクリーンになります。チームメンバー全員が同じスタイルで整形すれば、コードレビューで空白の差分ではなく実際のロジック変更に集中できます。一貫したレイアウトにより、長いクエリの中でJOIN条件の漏れや括弧の位置ミスを素早く発見することもできます。

ログからSQLをコピーした場合、1行のORMクエリを引き継いだ場合、あるいはコミット前に整理したい場合、SQLクエリフォーマッターに通すのは1秒もかからず、次の読み手の時間を何分も節約できます。

sqlformat.org・poorsql.com・IDEフォーマッターとの比較

最もよくリンクされる無料オンラインSQLフォーマッターはsqlformat.orgpoorsql.comの2つです。どちらもクエリをサーバーに送信して処理します——SQLに実際のテーブル名、機密性の高い列名、またはサンプルデータが含まれる場合はこの点が重要です。sqlformat.orgは長年運営されていますが、ダイアレクトのサポートは限られており、圧縮モードがなく、カンマの位置も固定です。poorsql.com——歴史的に「貧乏人のSQLフォーマッター」と呼ばれてきた——はさらにシンプルで、単一のインデントスタイルのみ、キーワードの大文字化制御なし、ダウンロード機能もありません。

Redgate SQL Promptなどのデスクトップフォーマッターは洗練されていますが、インストールが必要でSQL Server Management StudioまたはVisual Studioの中でしか使えません。SQLFluffはCIパイプラインに優れていますが、PythonとコマンドラインHが必要です。PrettierはプラグインでSQLを整形できますが、Node.jsが必要です。このツールはそのどれも必要としません:任意のブラウザで即座に動作し、モバイルでも使え、すべてをローカルで処理し、設定可能なダイアレクトサポート・圧縮機能・ダウンロード機能を追加で提供します。

DDL・DML・その間のすべてに対応

フォーマッターはSELECT文だけでなく、SQLの全構文を理解しています。DML(SELECT、INSERT、UPDATE、DELETE)をクリーンにし、CREATE TABLE文のDDL列定義を1行ずつ整列させ、CTE(WITH …)、ウィンドウ関数、UNION、CASE式、ネストされたサブクエリも処理します。

実行や検証を行わずにテキストを再整形する、実用的なSQLコード整形ツールです——そのため高速でプライベートであり、クエリが5行であっても500行であっても同じように機能します。

プライベート・即時・無料——あらゆるデバイスで動作

登録も支払いも不要です。整形と圧縮はすべてブラウザ内でJavaScriptにより実行されるため、SQLはデバイスを離れることなく、ページが読み込まれた後はオフラインでも動作します。このSQLビューティファイアーをブックマークしておき、クエリの整形・インデント・圧縮が必要なときにいつでも利用してください。

このツールはiPhoneやAndroidでもデスクトップと同様に機能します。モバイルのチャットやチケットからクエリを貼り付け、その場で整形して結果をコピー——アプリのインストール不要、ログイン不要。高速に読み込まれ、瞬時に応答し、邪魔になりません。

Frequently asked questions

SQLクエリを整形(ビューティファイ)するには?

入力ボックスにSQLを貼り付けると、整形されたバージョンが右側に即座に表示されます。フォーマッターは各主要句(SELECT、FROM、WHERE、JOIN、GROUP BY、ORDER BY)を独立した行に配置し、その下に列と条件をインデントし、キーワードを大文字にすることもできます。例えば、'select id,name from users where active=1' のような詰め込まれた1行が、クリック1つでコピーまたはダウンロードできる整形された複数行レイアウトに変わります。

SQLフォーマッターとは何ですか?

SQLフォーマッター——SQLビューティファイアーやプリティプリンターとも呼ばれます——は、圧縮されたか間隔が不統一なSQLを受け取り、空白、インデント、キーワードの大文字化を一貫した読みやすいレイアウトに書き直します。クエリの動作は変えません。変更されるのは書式だけです:改行、インデント、大文字化。ロジック、テーブル、列、値はあなたが書いたまま正確に保持されます。

オンラインにSQLを貼り付けるのは安全ですか?

このツールなら安全です。各クエリはブラウザ内でJavaScriptにより完全に整形され、サーバーに送信されたり、ログに記録されたり、保存されたりすることは一切ありません。クエリに実際のテーブル名、スキーマの詳細、サンプルデータが含まれる場合に重要です。最もよくリンクされる2つの代替ツール——sqlformat.orgとpoorsql.com——はどちらもクエリをサーバーサイドで処理します。テスト用の例なら問題ありませんが、本番用SQLの場合は話が異なります。ここでは、何もデバイスを離れません。

どのSQLダイアレクトがサポートされていますか?

標準SQL、MySQL、PostgreSQL、SQL Server(T-SQL)、Oracle、SQLite、BigQuery、Snowflakeから選択できます。ダイアレクト設定はキーワードの認識とクォート方法を調整します——例えば、MySQLのバッククォート識別子と#コメント、またはT-SQLの角括弧識別子([Order Details]など)——データベースエンジンに合ったコードの整形が行われます。

SQLクエリを圧縮するには?

モードを圧縮に切り替えます。フォーマッターはSQLを1行に折りたたみ、コメントを削除し、不要な空白を取り除きます。'SELECT *'、'FROM users'、'WHERE id = 1' にまたがる複数行クエリが、'SELECT * FROM users WHERE id = 1' という1行になります。圧縮されたSQLはアプリケーションコード、JSON設定、またはログ行にクエリを埋め込む際に便利です。

整形するとクエリの動作が変わりますか?

変わりません。ビューティファイはただ空白、改行、(オプションで)キーワードの大文字化を変更するだけです——句の順序変更、名前の変更、値の変更は行いません。SQLはトークン間の余分な空白を無視し、キーワードを大文字・小文字区別なしに扱うため、整形後のクエリはまったく同じ結果を返します。文字列リテラル(引用符内)とコメントは変更されずに保持されます。

SQLフォーマッターはオフラインで使えますか?

はい。整形と圧縮はすべてブラウザ上でローカルに実行されるため、ページが読み込まれた後はネットワーク接続なしでSQLを整形できます——クエリはデバイスを離れることがないため、高速で完全にプライベートです。