UTILS.
100% ブラウザ内で完結
🗄

CSV→SQL INSERT生成ツール

型推論を行い、CSVからCREATE TABLEとエスケープ済みINSERT文を生成します。

出力

このツールについて

CSV→SQLは、貼り付けたCSVをSQL文——推論された列型を持つ任意のCREATE TABLEと、行ごとにエスケープされたINSERT——に変換する無料のブラウザ内生成ツールです。すべて端末上で行われるため、データがアップロードされることはありません。

このツールは各列を調べ、整数・小数・日付・テキストのいずれかを推論し、それらを選択した方言(MySQL・PostgreSQL・SQLite・SQL Server)に応じた適切な型と識別子の引用形式にマッピングします。文字列の値は安全にエスケープされ、空のセルは NULL に、数値のセルは引用符なしのままになります。

ローカルで動作するため、インポートウィザードを使わずにスプレッドシートのデータをデータベースへ取り込める、プライバシーを守りながらオフラインでも使える手段です。SQLをコピーするか、.sql ファイルとしてダウンロードできます。

よくある質問

列の型はどのように推論されますか?
空でない値がすべて整数のときは integer、小数を含む数値のときは decimal、YYYY-MM-DD(任意で時刻付き)に一致するときは date、それ以外は text と型付けされます。空のセルは NULL として出力されます。
方言によって何が変わりますか?
識別子の引用形式と型名が異なります。MySQL はバッククォートと INT/VARCHAR を、PostgreSQL と SQLite は二重引用符を使い(SQLite は INTEGER/REAL/TEXT を好みます)、SQL Server は角かっこと NVARCHAR を使います。文字列リテラルはどの方言でも単一引用符で囲み、内側の引用符は二重にします。
どのようなCSVの規約が前提ですか?
フィールドは選択した区切り文字で分割され、二重引用符付きフィールド(内側の引用符は二重)は解析されるため埋め込まれた区切り文字も保持されます。ヘッダーのチェックを入れると先頭行が列名になります(外すと column1、column2 … が使われます)。
CREATE TABLE を省略できますか?
はい。CREATE TABLE のオプションのチェックを外すと、INSERT文だけが出力されます。宛先のテーブルが既に存在し、行だけが必要なときに便利です。

その他のツール