本文へスキップ
grsytools.jp

提出前・共有前の実務チェック

CSVからSQL INSERT生成

CSVの列名と型を指定し、PostgreSQL・MySQL・SQLite向けINSERT文を生成します。識別子、文字列、NULL、数値を区別し、接続・実行は行いません。

データを実行前確認用のSQL文字列へ整える

既存テーブルの列へ少量のデータを転記するため、CSVと列型からINSERT文を作ります。数値は入力リテラルを保持し、文字列はdialect固有のエスケープを使います。生成したSQLを自動で実行する機能はありません。

SQL IN句生成は条件値のリスト、CSV→JSONはデータ形式変換です。こちらは明示したテーブルと列型に対するINSERT文の下書きを作ります。

ツール本体

入力・操作・結果

上から入力し、必要な操作を行って、表示された結果と次の操作を確認してください。

入力と結果はこの画面のメモリ内で処理します。ページを再読み込みすると入力は消えます。コピーは利用者の操作で行います。

入力データは原則ブラウザ内で処理し、URLやアクセス解析へ保存しません。ページを更新すると入力は失われます。機密情報は入力しないでください。

使い方

  1. dialectとASCIIテーブル名、見出し付きCSVを指定します。
  2. 列と同じ順序でstringまたはnumberを指定し、空セルのNULL方針を選びます。
  3. 生成SQLを実際のテーブル定義・権限・文字コードに照らして確認します。

例: SQLiteの文字列O'Brienは'O''Brien'と引用します。number列の9007199254740993は浮動小数点へ書き換えず、その文字列を出力します。

PostgreSQLはE文字列でバックスラッシュもエスケープ、MySQLはSQL modeの差を避けるためUTF-8 hexをCONVERT、SQLiteは単一引用符を二重化します。

このツールを使う場面

確認できること
明示したSQL dialect向けのINSERT文を生成
使う前に見るポイント
dialectとASCIIテーブル名、見出し付きCSVを指定します。
結果を見たあとにやること
PostgreSQLはE文字列でバックスラッシュもエスケープ、MySQLはSQL modeの差を避けるためUTF-8 hexをCONVERT、SQLiteは単一引用符を二重化します。

作業全体に戻る場合は、近い課題別ページを開いてください。

CSV・JSONデータを受け取ったときの確認手順

受け取ったデータは、見た目が整っていても列順、キー、型、改行で壊れていることがあります。先に形式と識別列を確認してから変換へ進みます。

つまずきやすいポイント

  • 入力と計算条件

    スキーマ検証、DB接続、SQL実行、日付・boolean・JSON列型、DDL生成はありません。SQLの互換性は対象のDB設定とバージョンで確認が必要です。

境界値・事前チェック項目

  • 対応する範囲

    テーブル名63文字、列名UTF-8で63byte、CSV20万文字・100列・1000データ行、出力100万文字まで。型はstring/numberだけ、数値式やNULは拒否します。

よくあるミスと回避策

  • 結果を使う前に

    生成結果は確認用です。実行する場合は利用者が対象テーブル、制約、トランザクション、バックアップを別途確認してください。

FAQ

  • 空セルと空文字はどう区別しますか?

    空セルをNULLにするか選択します。NULLなしではstring列は空文字、number列の空セルはエラーです。

  • MySQLの文字列がhexになるのはなぜですか?

    バックスラッシュ解釈がSQL modeで変わる問題を避け、UTF-8 bytesを明示して文字列へ変換するためです。

  • 生成時にデータベースへ接続しますか?

    接続・実行しません。入力からSQLテキストをブラウザ内で生成するだけです。

基本FAQ

  • 入力データは外部へ送信されますか?

    原則として送信されません。入力内容はブラウザ内で処理し、URLやアクセス解析へ保存しません。例外がある場合は各ツールページ内に明記しています。

  • 入力内容は自動保存されますか?

    原則として自動保存しません。ページを更新すると入力は失われます。コピーやダウンロードで保存する場合は、ご利用端末内に保存されます。

同じ作業の前後で使うことがあるツールです。