高速・安全なCSV SQL変換ツール
スプレッドシートのデータをリレーショナルデータベース形式に変換する作業は、開発者やデータベース管理者、データアナリストにとって日常的なタスクです。本ツールを使えば、Webブラウザ上で直接CSVをSQLに変換できます。新規データベースの初期データ投入、過去のデータの移行、データセットの迅速なインポートなど、どのような目的でも、CSVデータからINSERT文を数秒で生成可能です。
変換処理はすべてお使いのデバイス上でローカルに実行されるため、データが外部サーバーにアップロードされることは一切ありません。これにより完全なプライバシーとセキュリティが保証され、機密性の高いユーザーデータや財務記録、社外秘情報なども情報漏洩のリスクなく安全に処理できます。
データ型の自動推論の仕組み
カラム数が多いデータセットのスキーマを手作業で作成するのは面倒です。手間を省くため、このツールはCSVデータを自動的に読み込み、各カラムに最適なSQLのデータ型を推論します。実際のデータ値(空のセルは除外)をチェックし、以下のルールに基づいてデータ型を決定します。
- INTEGER: カラムのすべての値が整数(例:
42、-15)の場合に適用されます。 - DECIMAL: 値が浮動小数点数または指数表記(例:
3.14、-0.5)の場合に適用されます。 - BOOLEAN: 値が
trueまたはfalseのみの場合(大文字・小文字は区別しません)に適用されます。 - DATE: 値が標準のISO日付フォーマット(
YYYY-MM-DD)に一致する場合に適用されます。 - TEXT / VARCHAR: データ型が混在している場合や、通常のテキスト、上記のパターンに当てはまらないフォーマットの場合に適用されるデフォルトのデータ型です。
CREATE TABLE 文を生成する場合、推論されたデータ型は、選択したデータベースのSQL方言に合わせた正しい構文に自動でマッピングされます。
対応するSQLダイアレクト
データベースエンジンごとに、識別子(テーブル名やカラム名など)の囲み方、データ型の定義、リテラル値の書式ルールは異なります。生成されたSQLが構文エラーなく確実に実行されるよう、当ツールは4つの主要なダイアレクトに対応しています。
MySQL: CSVをMySQLに変換する際、ツールはテーブル名とカラム名をバッククォート(`)で囲みます。テキストカラムのデフォルトは VARCHAR(255) となり、真偽値は TRUE または FALSE として出力されます。
PostgreSQL: 識別子をダブルクォーテーション(")で囲みます。テキストカラムには、Postgresで標準的かつ非常に効率的な TEXT 型を使用します。真偽値はネイティブにサポートされており、TRUE または FALSE として出力されます。
SQLite: 識別子にダブルクォーテーションを使用します。SQLiteは限られたストレージクラスによる動的型付けを採用しているため、小数は REAL、真偽値は INTEGER(1 または 0 を出力)、テキストは TEXT アフィニティにマッピングされます。
SQL Server (T-SQL): 識別子を角括弧([])で囲みます。テキストカラムのデフォルトは VARCHAR(255) となり、真偽値は BIT 型にマッピングされます(1 または 0 を出力)。さらに、テキスト文字列に非ASCII文字が含まれる場合、Unicode(NVARCHAR)として正しく挿入されるよう、自動的に N のプレフィックス(例:N'Value')が付与されます。
SQL出力のカスタマイズ
以下の設定オプションを使用して、環境や用途に合わせて生成されるSQLスクリプトをカスタマイズできます。
- テーブル名: ターゲットのテーブル名を指定します。選択したSQLの種類に合わせて、適切な引用符が自動的に適用されます。
- CREATE TABLEを含める: データベースを新規作成する場合、このオプションを有効にするとINSERT文の前にテーブル定義(スキーマ)が生成されます。CSVのヘッダーがカラム名として使用されます。
- バッチインサート: 何千もの
INSERT INTO文を個別に実行すると処理に時間がかかる場合があります。このオプションを有効にすると、最大500行のCSVデータを1つのINSERT文にまとめます。これによりファイルサイズが大幅に削減され、インポート速度が向上します。 - 空のセルをNULLに変換: スプレッドシートには空白セルが含まれることがよくあります。このオプションを有効にすると、CSV内の空文字をデータベースに空文字(
'')として挿入するのではなく、SQLのNULLキーワードとして明示的に出力します。
CSVデータ準備のヒント
最適な結果を得るために、CSVファイルにはヘッダー行を含めてください。このツールは、データの1行目を CREATE TABLE や INSERT 文の列名として使用します。列名が空白の場合は、自動的に column_1、column_2 のように命名されます。
データ内にカンマ、改行、引用符が含まれる場合は、CSVが正しくフォーマットされている(通常は各フィールドをダブルクォーテーションで囲む)ことを確認してください。本ツールには高性能なCSVパーサーが組み込まれており、エスケープされた引用符や複数行のフィールドも正確に処理します。
データを他の形式に変換したい場合は、CSV JSON 変換 や CSV Excel 変換 ツールもご活用ください。生成されたSQLのインデントやキーワードの大文字・小文字を調整したい場合は、SQLフォーマッター をご利用いただけます。