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