SQL Dialect Converter
INSERT と CREATE TABLE を MySQL・PostgreSQL・SQLite 間で変換します。
使い方
- 左欄に SQL を1つ以上貼り付けます —— INSERT と CREATE TABLE 文、複数ある場合はセミコロン区切りで。
- 変換元の方言を選びます。自動検出のままなら、バックスラッシュ転義とバッククォート引用からエスケープ方式を推定します。
- 変換先の方言を選びます:MySQL、PostgreSQL、SQLite のいずれか。
- 右側に変換結果、下に変換に関する注記が並びます。変換先に対応構文がない節は、黙って削除せず名前を挙げて注記します。
- 結果をコピーまたはダウンロードし、実データベースへ適用する前に注記を確認してください。
よくある用途
- スキーマを PostgreSQL へ移行 —— バッククォート識別子と AUTO_INCREMENT の MySQL ダンプを、二重引用符識別子と SERIAL カラムに書き換える。
- テスト用 SQLite にデータ投入 —— MySQL や PostgreSQL のエクスポートから INSERT スクリプトをそのまま使い、引用符を手作業で直す手間を省く。
- テーブルオプションの処理 —— ENGINE、CHARSET、COLLATE のうち消える節を一目で確認できます。これらは MySQL 固有です。
- 方言の違いを学ぶ —— 注記欄は「3 つのエンジンで実際に異なる節」のコンパクトな一覧です。
よくある質問
Q: どの文が完全に変換されますか? A: INSERT 文(識別子の引用符、文字列のエスケープ、カラムリストと VALUES 各行)と CREATE TABLE 文(識別子の引用符、AUTO_INCREMENT の SERIAL / BIGSERIAL / AUTOINCREMENT 化、MySQL のテーブルオプション、LIMIT m,n の LIMIT n OFFSET m 化)です。それ以外の文は保守的な書き換えと注記が付きます。
Q: 自動検出は何を判定していますか? A: 文字列リテラルのエスケープ慣行です。\n や ' のようなバックスラッシュ転義は MySQL 方式、単一引用符の重ね escaping は PostgreSQL / SQLite の標準方式として読みます。ファイル内で方式が混在する場合は、変換元の方言を手動で指定してください。
Q: なぜ変換せずにそのまま残る節があるのですか? A: ON DUPLICATE KEY UPDATE、ON UPDATE CURRENT_TIMESTAMP、UNSIGNED などは他の方言に一对一の対応がありません。変換器はこれらを保持し注記に列挙するので、静かな推測を信頼するではなく、意図的に書き換えられます。
データはこのデバイス内にとどまります
SQL Dialect Converter は 100% ローカルで動作します。貼り付けたり、ドロップしたデータはすべてお使いのブラウザ内で処理され、送信されることはありません。当社のサーバーには何も保存されません——タブを閉じればすべて消えます。
入力された内容がサーバーへ送信・記録・解析利用されることはありません。初回読み込み後はネットワークを切断していてもこのページは動作します。