# SQL圧縮ツール

コメント、改行、不要なスペースを削除してSQLを圧縮します。文字列リテラル、引用符付き識別子、演算子はそのまま保持されます。MySQL、PostgreSQL、T-SQL、BigQueryなどの方言を選ぶと、引用符、コメント、バッチ処理のルールがデータベースに合います。未閉じの文字列やコメント、括弧があれば行番号と列番号を示して報告するため、コードにクエリを埋め込む開発者に適しています。

## よくある質問

### SQL圧縮ツールは何を削除しますか？

行コメント、ブロックコメント、改行、インデントを削除し、単語や演算子が結合してしまう箇所にだけスペースを1つ残します。文字列リテラルと引用符付き識別子は、記述されたとおりに保持されます。

### なぜ方言を選ぶ必要がありますか？

データベースによって、引用符やコメントの扱いは異なります。MySQLでは#がコメントとして扱われ、バックスラッシュはエスケープ文字として使われます。PostgreSQLにはドル引用符付き文字列があり、T-SQLでは[角括弧]とGOバッチが使われます。BigQueryには三重引用符付き文字列があります。方言を選ぶことで、リテラル内の内容が変更されないようにします。

### コメントが残ることはありますか？

はい。MySQLとMariaDBの実行可能コメント、バージョンマーカーで始まるブロックコメント、/*+ INDEX(t) */のようなオプティマイザヒントは、ステートメントの実行方法に影響するため保持されます。それ以外のコメントはすべて削除されます。

### GO、/、DELIMITERの行はどうなりますか？

T-SQLのGOのようなバッチ区切り、Oracleスクリプトの/の行、MySQLのDELIMITERコマンドは、それぞれ独立した行に残ります。クライアントツールがこれらを認識するのはその位置だけなので、ほかのコードと結合するとスクリプトが動作しなくなります。

### 圧縮によってクエリが壊れることはありますか？

ミニファイアはリテラルの外にある空白とコメントだけを削除し、演算子文字の間のスペースは保持するため、- -1がコメントに変わることはありません。クエリはこれまでと同じように実行されます。

### どのようなエラーが検出されますか？

閉じられていない文字列リテラル、引用符付き識別子、ブロックコメント、ドル引用符付き文字列と、対応していない括弧を行番号と列番号とともに報告します。SQLの文法全体を検証するわけではありません。

### どの方言を選べますか？

Standard SQL、MySQL、MariaDB、PostgreSQL、SQLite、T-SQL、PL/SQL、BigQuery、Snowflake、Redshift、Spark SQL、Hive、Trino、Db2を選べます。デフォルトのStandard SQLでは、バックスラッシュエスケープのない単一引用符付き文字列を使い、識別子には二重引用符、バッククォート、角括弧を使用できます。

### キーワードの大文字と小文字は変わりますか？

いいえ。キーワード、識別子、関数は元の大文字と小文字を保持します。空白とコメントだけが削除されます。

### 入力の最大サイズはどれくらいですか？

リクエストごとに最大1 MBのSQLを処理できます。多数のステートメントを含む長いマイグレーションスクリプトも、1回の処理でミニファイされます。

### 私のSQLは保存されますか？

いいえ。クエリはメモリ上で処理され、すぐに返されます。保存されることはなく、記録されるのはリクエストのサイズだけです。

ここに広告を掲載しませんか？

[メールでお問い合わせ](mailto:hi@dennn.is?subject=OneClick%20Pro%E3%81%A7%E3%81%AE%E5%BA%83%E5%91%8A%E6%8E%B2%E8%BC%89)

[広告 WordPress向けのエージェント対応プラグインスイート。](https://sleekwp.com/?ref=oneclickpro)
