SQL整形ツール(フォーマッター)

読みにくいSQLを貼り付けると、入力と同時にきれいに整形します。句ごとに改行し、列や条件をそろえ、サブクエリやCASE式をインデントし、CREATE TABLEは1列1行にします。方言(MySQL、PostgreSQL、SQL Server、Oracle、SQLite、BigQuery)を選べば、バッククォートや[角かっこ]、$$文字列、::キャストも正しく扱います。予約語の大文字・小文字、インデント幅、カンマを行頭に置くか行末に置くかも選べます。閉じていない引用符、かっこの対応ミス、WHEREのないDELETE・UPDATEを警告し、1行に圧縮したり、Python・JavaScript・Java・C#・PHPの文字列としてコピーしたりもできます。SQLはブラウザの外に出ません。

無料・登録不要

結果
結果の形式

      

整形するSQLを貼り付けてください。

使い方

  1. SQLを貼り付けるか、.sqlファイルを開きます。
  2. データベースの方言、予約語の大文字・小文字、インデントを選びます。
  3. 整形されたSQLを確認し、下に表示された問題を直します。
  4. コピー、.sqlでダウンロード、またはコード用文字列としてコピーします。

このツールの特長

読みやすいレイアウト

句ごとの改行、列と条件の整列、サブクエリ・WITH句・CASE式のインデント。

7つの方言

MySQLのバッククォートと#コメント、PostgreSQLの$$と::、T-SQLの[ ]とGO、Oracle、SQLite、BigQuery。

社内ルールに合わせる

予約語の大文字・小文字、スペース2・4やタブ、カンマ前置・後置を選択。

エラーチェック

閉じていない引用符やコメント、かっこの対応ミス、WHEREなしのDELETE・UPDATEを検出。

圧縮(1行化)

SQLを1行にまとめます。コメントやオプティマイザヒントを残すこともできます。

コード用にコピー

Python、JavaScript、Java、C#、PHPの文字列としてそのまま貼れる形でコピー。

SQLを整形するメリット

ログやORM(MyBatis、Hibernateなど)、BIツールから取り出したSQLは、1行にずらっと並んでいることがよくあります。整形すると句ごとに行が分かれ、何を取得し、どのテーブルを結合し、どう絞り込んでいるかが一目でわかります。レビューがしやすくなり、Gitの差分も小さくなり、結合条件の書き忘れのようなミスにも気づきやすくなります。

日本でよく使われるSQLコーディング規約

日本の開発現場では、予約語を大文字、テーブル名や列名を小文字にし、SELECT句は1列1行で書くスタイルが一般的です。SIerの規約では、列をコメントアウトしやすく差分も見やすいことから「カンマ前置(行頭カンマ)」が採用されることも多くあります。このツールの「カンマの位置」を「行頭」にすれば、そのスタイルで整形できます。チームで規約を統一しておくと、レビューの手間がぐっと減ります。

方言の選び方

  • MySQL / MariaDB:`バッククォート`の識別子、#コメント、文字列内のバックスラッシュ
  • PostgreSQL:$$で囲んだ関数本体、::キャスト、$1パラメータ
  • SQL Server:[角かっこ]の識別子、@変数、TOP、GOによるバッチ区切り
  • Oracle:圧縮時も /*+ ヒント句 */ を残します
  • BigQuery・SQLite:バッククォートの識別子、それ以外は標準SQL

実行前のチェックポイント

  • WHEREのないUPDATE・DELETEは全件更新になります。先に同じWHEREでSELECTして件数を確認しましょう
  • 危険な更新はトランザクション内で実行し、ROLLBACKできるようにする
  • アプリのコードではSELECT *を避け、必要な列を書く
  • ユーザー入力を文字列連結でSQLに入れず、プレースホルダ(?、$1、@id)を使う

よくある質問

無料で使えますか?

はい。登録不要で、ブラウザで扱える範囲ならサイズ制限もありません。

SQLはサーバーに送信されますか?

いいえ。整形はブラウザ内で行うため、テーブル名やクエリ内のデータが外部に出ることはありません。

整形するとSQLの動作は変わりますか?

変わりません。変わるのは空白、改行、予約語の大文字・小文字だけで、文字列・識別子・コメントはそのまま残ります。

対応しているデータベースは?

標準SQL、MySQL・MariaDB、PostgreSQL、SQL Server、Oracle、SQLite、BigQueryです。

ストアドプロシージャも整形できますか?

はい、文ごとに整形します。非常に複雑なPL/SQLやT-SQLの制御構文は、少し手直しが必要な場合があります。

SQLの文法チェックはできますか?

閉じていない引用符やかっこの対応ミスなど、よくある構文エラーは検出しますが、テーブル名や列名が実際に存在するかは確認しません。

関連ツール

作りたいものがありますか?

作りたい内容を教えてください。

シンプルなWebサイトから本格的なアプリ、AIソリューション、自動化、カスタムシステムまで、作りたいものをお聞かせください。

作りたいものをお聞かせください。すべてのお問い合わせを確認し、メールで返信します。

お問い合わせ

お問い合わせを受け付けました。

内容を確認し、メールで返信します。