SQL 整形(Pretty Print)と 1 行圧縮(Minify)の使い方・Node.js 自動化
SQL データベース DevOps JavaScript
結論:30秒で SQL クエリを整形・一括圧縮する
- Pretty Print: 人間が見やすいインデント化 (
keywordCase: 'upper') - Minify 危険防止: 単一行コメント
--を/* ... */に置換してから 1 行化 - 生成ツール: 下のコンポーネントでブラウザ即時整形
1. オンライン SQL 整形 & 1行圧縮ツール
ブラウザ上でSQLの整形および1行圧縮を即座に相互変換できます。
🗃️ この場でSQLを整形する
2. 整形(Format)と 1行圧縮(Minify)の使い分け
① 整形 (Pretty Print)
ログファイルやデバッグ時に人間が構造(JOIN条件やWHERE句の入れ子)を素早く読むためのフォーマットです。
SELECT
id,
name
FROM
users
WHERE
status = 'active';
② 1行圧縮 (Minify)
ソースコード内にヒアドキュメントを使わずにSQL文字列を直接安全に埋め込むためのフォーマットです。
SELECT id, name FROM users WHERE status = 'active';
3. Node.js での SQL 自動整形コード (sql-formatter)
import { format } from 'sql-formatter';
const rawSql = "select id, name, email from users where status = 'active' and age > 20 order by created_at desc;";
// PostgreSQL 方言でキーワードを大文字化して整形
const formattedSql = format(rawSql, {
language: 'postgresql',
keywordCase: 'upper',
tabWidth: 2
});
console.log(formattedSql);
4. 注意点(ハマりどころ)
--コメントによるクエリ全滅- 1 行化する前に
--の単一行コメントが含まれていないか確認してください。単一行コメントの直後の改行が消えると、クエリの残りの全命令文がコメントと判定されます。
- 1 行化する前に