Nouplo

CSV → SQL

貼り付けた表を、そのまま実行できる形に。

例を読み込むと入力と設定が一時的に変わります。元の内容に戻せます。

0文字
出力
上に貼り付けるか入力すると、ここに結果が表示されます。

ファイルは端末の外に出ません

このツールはすべてブラウザ内で動作します。貼り付けた内容は端末内で処理され、サーバーには送信されないため、トークンや鍵、未公開の文章でも安心して使えます。

使用例

計算・変換例 — CSV → SQL

入力行を順番に入力し、以下の設定を使います。結果を出力行と比較してください。

項目 値
入力 1 name,age
入力 2 Ada,36
入力 3 Lin,28
テーブル名 people
区切り文字 自動判別
1行目は列名 オン
CREATE TABLE も出力する オン
識別子の囲み 囲まない
出力 1 CREATE TABLE people (
出力 2 name VARCHAR(16),
出力 3 age INTEGER
出力 4 );
出力 5 INSERT INTO people (name, age) VALUES
出力 6 ('Ada', 36),
出力 7 ('Lin', 28);

people テーブルの作成と 2 行の挿入用 SQL が生成されます。名前には引用符が付き、年齢は整数です。データベースには接続しません。

使い方

  1. CSVかTSVを貼り付けます。表計算からそのままコピーしたものでかまいません。
  2. テーブル名を決めます。必要なら識別子の囲み方も選びます。
  3. 新しい表ならCREATE TABLEを入れたまま、既存の表に入れるなら外します。
  4. SQLをコピーして実行します。実行前に目を通してください。

よくある質問

列の型はどう決めていますか。
列の空でないセルをすべて調べます。02139 のような郵便番号は、先頭のゼロを残すため文字列にします。整数は INTEGER、大きな整数は BIGINT または DECIMAL になります。小数の精度と小数点以下の桁数は入力に合わせます。必要な精度が 38 桁を超える場合は文字列にします。2024-02-29 のような有効な ISO 形式の日付は DATE になります。日付と自由記述が混在する列は文字列になります。
値はエスケープされますか。
値の中の引用符は二重化されます。どの方言でも共通のエスケープです。空欄は空文字ではなくNULLになります。自分のデータに対して自分で実行するファイルなら、これが正しい形です。
フォームやAPIから来たデータに使えますか。
安全には使えません。ここで出るのはプレースホルダではなくリテラルなので、自分が打っていない入力からこうして文を組み立てるのがSQLインジェクションの起こり方そのものです。自動化するならドライバのパラメータを使ってください。
なぜ複数行をまとめるのですか。
100行を1文で入れるほうが、100文に分けるよりずっと速く、しかも読める大きさに収まるからです。1文ずつ実行したい場合は1行に変えてください。
入力した内容はどこかに送られますか。
いいえ。ブラウザの中で動くので、貼り付けた内容はお使いのパソコンから出ません。

関連ツール