CSVからSQL生成
CSV to SQL
表から列の型を推測し、選んだ方言のCREATE TABLE文とINSERT文を書き出します。
表をCREATE TABLE文とINSERT文に変えます。対象はPostgreSQL、MySQL、SQLite、SQL Serverで、列の型はデータから推測します。何かを書き出す前に、作られる列の一覧を見せます。文字列として入ってきてしまった数値の列を捕まえるのはそこです。
SQL にしたい CSV を置いてください
このタブの中で読みます。アップロードはしません。韓国語・日本語・中国語・欧米版の Excel が保存したファイル(CP949, Shift_JIS, GBK, Windows-1252)を判別します。
使い方
方言を選びます
引用符の付け方、自動採番の書き方、文字列の型がそこで決まります。SQL ServerにはVARCHARではなくNVARCHARを出します。한글を保存できるか、クエスチョンマークを保存するかの差がそこにあります。
推測された型を確かめます
SQLの上の表に、列ごとに与えられる識別子、型、NULLを許すかどうかが出ます。INTEGERのはずの列がTEXTになっていれば、紛れ込んだ値があるということです。
まとめる行数を決めます
1つのINSERTにつき100行が手ごろな既定です。1行につき1文にすればデバッグは楽になり、実行はずっと遅くなります。
よくある質問
すべての識別子に引用符が付くのはなぜですか。
order、group、descといった名前の列は予約語であり、必要なときだけ引用符を付けようとすれば、4つの方言それぞれで予約語の一覧を正しく持たなければならなくなるからです。無条件に付けるのは退屈ですが、常に動きます。
韓国語の列名は安全ですか。
引用符を付ければ4つの方言すべてで安全です。それでもサーバーが受け付けないなら、ASCIIのみの設定が識別子だけを翻字し、データには手を付けません。
データの中の引用符はどうなりますか。
二重にします。SQLの標準的なエスケープです。MySQLではバックスラッシュも二重にします。リテラルの中のバックスラッシュをエスケープとして扱うのはMySQLだけで、そうしないとC:\tempがタブ文字を含んだ形でデータベースに入るからです。
空のセルとNULLのどちらにしますか。
選べますし、この選択は効いてきます。SQLでは空文字列は値であり、NULLは値がないことで、比較でもCOUNTでも一意インデックスでも振る舞いが違います。既定はNULLです。
ここから渡せます
リスト形式の変換
List Formatter
複数行をカンマ区切り・引用符付きのSQL IN句・JSON配列・箇条書きに変え、また元に戻します。
SQL整形
SQL Formatter
キーワードの大文字小文字・インデント・カンマの位置を決めて、主要な方言のSQLを整えます。
タイムゾーン変換
Timezone Converter
ある時刻を複数のタイムゾーンに変換し、会議を組みやすい重なり時間帯を表で示します。
CSVビューアー
CSV Viewer
大きな区切りファイルを丸ごとメモリに載せずに開き、列の型・統計・並べ替えを表示します。
次の一手
このツールが出したものをそのまま受け取れる道具です。
CSVクリーニング
CSV Cleaner
セルの空白を落とし、見出しを揃え、数値と日付の書式を直し、列数の合わない行を報告します。
CSVにSQLで問い合わせ
SQL over CSV
置いたCSVやTSVにブラウザ内でSQLを実行し、SELECT・WHERE・GROUP BY/HAVING・ORDER BY・LIMIT・CASEと2表のJOINまで扱います。
リスト形式の変換
List Formatter
複数行をカンマ区切り・引用符付きのSQL IN句・JSON配列・箇条書きに変え、また元に戻します。
SQL整形
SQL Formatter
キーワードの大文字小文字・インデント・カンマの位置を決めて、主要な方言のSQLを整えます。
CSVビューアー
CSV Viewer
大きな区切りファイルを丸ごとメモリに載せずに開き、列の型・統計・並べ替えを表示します。
為替レート換算
Currency Converter
欧州中央銀行の日次基準レートでユーロを経由して約30通貨を換算し、銀行に言われたレートを自分で入れることもできます。