このツールが自動でやること
空欄は NULL、数値として読める値はクォートなし、その他はシングルクォートで囲みます。文字列中の ' はSQL用に二重化します。列名はバッククォートで囲みます。
CSVの1行目を列名として使います。空のヘッダーや重複ヘッダーがあっても、DB側で有効かどうかまでは判定しません。SQL生成前にヘッダー差分や列名の重複を確認しておくと、実行時エラーを減らせます。
無料Webツール
CSVのヘッダーと行データからSQL INSERT文を生成します。
CSVの数十〜数百行をINSERT文へ直したいとき、手でクォートを付けるのは地味に事故が起きやすい作業です。このツールはヘッダーを列名として、複数行INSERTをまとめて生成します。ただし、SQL方言まで完全に面倒を見るツールではありません。
空欄は NULL、数値として読める値はクォートなし、その他はシングルクォートで囲みます。文字列中の ' はSQL用に二重化します。列名はバッククォートで囲みます。
CSVの1行目を列名として使います。空のヘッダーや重複ヘッダーがあっても、DB側で有効かどうかまでは判定しません。SQL生成前にヘッダー差分や列名の重複を確認しておくと、実行時エラーを減らせます。
バッククォートによる識別子引用はMySQL系では見慣れていますが、PostgreSQLやSQL Serverなどでは書き方が異なります。生成されたSQLを“どのDBでもそのまま実行できる完成品”とは考えず、投入前の下書きとして見るのが安全です。
00123 は現在の生成ロジックでは数値らしい値としてクォートされません。DBへ数値として入れれば123になります。商品コードや会員IDのようにゼロを含めて文字列で保存したい列は、生成後のSQLを必ず確認してください。
100を指定すると、最大100行ずつのINSERT文に分かれます。大量CSVを1文にしすぎると扱いづらくなるので、DBや実行環境の制限に合わせて調整します。
外部キー、NOT NULL、型制約、重複キー、トランザクションなどはこの画面だけでは判断できません。本番DBへ流す前に、ステージングやトランザクション内で確認できると安心です。
CSV内の文字列はSQL文字列としてエスケープしますが、これは入力値の意味や権限まで検証するものではありません。特に本番DBでは、生成SQLをレビューしてから実行する運用を前提にしてください。