SQL フォーマッター
MySQL、PostgreSQL、SQL Server、Oracle、BigQuery など 16 種類の方言の SQL クエリを整形。キーワードの大文字・小文字とインデントを選べます。処理はブラウザ内で完結します。
すべてブラウザ内で実行されます。データがアップロードされることはありません。
関連ツール
すべて表示SQL フォーマッターとは?
SQL フォーマッターは、各句を独自の行に置いてその内容をインデントし、長いクエリを読みやすく書き直します。方言を選ぶと、ベンダー固有の構文(バッククォート、:: キャスト、TOP、QUALIFY など)が理解され、キーワードを大文字、小文字、そのままから選べます。
SQL フォーマッターの使い方
- SQL 方言 を選びます(たとえば MySQL や PostgreSQL)。
- キーワードの大文字・小文字 と インデント を選びます。
- クエリを入力欄に貼り付けます。
- 整形 をクリックし(入力中も出力は更新されます)、結果をコピーします。
例
select id,name from users where active=1 order by name
SELECT id, name FROM users WHERE active = 1 ORDER BY name
方言は MySQL、キーワードは大文字、スペース 2 つ。
SQL フォーマッターを使うべき場面
ログや ORM から出たクエリの読み取り、コードレビューやドキュメント用の SQL の準備に使います。テーブル名や列名の検証も、何かの実行も行いません。手続き型のコード(PL/SQL ブロック、T-SQL のプロシージャ)は、ベストエフォートで整形されます。
SQL フォーマッターの仕組み
整形は sql-formatter ライブラリが行います。選択した方言の規則(引用符、コメント、パラメータ、演算子)でクエリをトークン化し、句と式に解析して、SELECT、FROM、WHERE、JOIN、GROUP BY などの句を、項目をインデントした上で別々の行に出力します。キーワードの大文字・小文字は予約語にだけ適用され、識別子や文字列リテラルは変更されません。解析エラーでは行と列が表示されます。
一般的な使用例
- アプリケーションのログにある長い 1 行のクエリを読む
- ORM が生成した SQL を整形する
- コードレビューの前にキーワードを大文字にする
- ドキュメント用に読みやすい SQL を用意する
セキュリティ注意事項
すべてブラウザ内でローカルに処理され、貼り付けたコードがアップロードされることはありません。
よくある質問
どの方言に対応していますか?
標準 SQL、MySQL、MariaDB、PostgreSQL、SQLite、SQL Server(T-SQL)、Oracle PL/SQL、BigQuery、Snowflake、Redshift、Spark、Hive、Trino、DuckDB、ClickHouse、Db2 です。
識別子は変更されますか?
いいえ、指定した場合にキーワードの大文字・小文字が変わるだけです。
テーブルが存在するか確認しますか?
いいえ、テキストを整形するだけです。