CSVツール

CSV SQL抽出

CSVをSQL(SELECT)で抽出・並び替え・集計し、結果をCSVでダウンロードできます。読み込んだCSVは data というテーブルとして参照します。

入力データはサーバーへ送信されませんインストール不要無料で使えます

CSVファイルの内容・SQL・SQL実行結果はブラウザ内でのみ処理され、サーバーへ送信・保存されません。Pipelineで受け渡すデータも同様です。

CSVファイルをここにドラッグ&ドロップ

または、ファイルを選択してください

対応形式: .csv(最大サイズの制限はありません)

このツールでできること

CSVをSQLで抽出・集計するための主な機能です。

  • CSVをSQL(SELECT)で抽出・並び替え・集計できます(WHERE・ORDER BY・LIMIT・DISTINCT・GROUP BY・HAVING・集計関数・CASE・CAST・WITH など)
  • 読み込んだCSVの列名・推定される型・件数・先頭のプレビューを確認できます
  • SQLの結果を表で確認し、全件をCSVとしてダウンロードできます
  • CSV・SQL・結果はブラウザ内だけで処理されます
  • 他のCSV系ツールから結果を受け取り、続けて別のCSV系ツールへ送ることができます

使い方

CSVをSQLで抽出・集計する手順を説明します。

手順を見る
  1. CSVファイルをドラッグ&ドロップするか、テキストを貼り付けて読み込みます(初回のみSQLエンジンを読み込みます)
  2. 列名と型を確認し、dataテーブルに対するSQLを入力します
  3. 「実行」を押し(Ctrl/Cmd+Enterでも実行できます)、結果を確認します
  4. 結果をCSVダウンロード、またはPipelineで次のツールへ送ります

こんなときに使えます

こんな場面でCSV SQL抽出が役立ちます。

利用シーンを見る
  • 特定の条件に一致する行だけを取り出したい
  • 列ごとの件数や合計・平均を素早く確認したい
  • 重複を除いた値の一覧(DISTINCT)を作りたい
  • CSV加工ツールの結果をSQLでさらに絞り込み・集計したい

CSV SQL抽出の仕組みと注意点

このツールの動作の仕組みと、利用時の注意点を説明します。

詳しい解説を見る

ブラウザ内のSQLエンジンで処理します

読み込んだCSVは、ブラウザ内で動くSQLエンジン(DuckDB-Wasm)に data という名前のテーブルとして取り込まれ、入力したSQLがそのブラウザ内で実行されます。CSV・SQL・実行結果はサーバーへ送信・保存されません。SQLエンジン(約36 MB)は初回のみ読み込まれ、次回以降はブラウザのキャッシュが使われます。

利用できるSQLは、データを取り出すSELECT系の1文です

SELECT・WHERE・ORDER BY・LIMIT・DISTINCT・GROUP BY・HAVING・COUNT/SUM/AVG/MIN/MAX・CASE・CAST・WITH などが使えます。データを書き換える文(INSERT・UPDATE・DELETE・DROP など)、トランザクション制御(BEGIN・COMMIT など)、複数の文を並べた入力、PIVOT・EXPLAIN は利用できません。読み込んだCSVを変更したり、外部のファイルやネットワークへアクセスしたりすることはできません。

型は自動で判定されます

列の型(整数・小数・日付・文字列など)はCSVの内容から自動で判定され、「読み込んだCSV」の表に表示されます。小数は 1.50 が 1.5 のように数値として扱われるため、元の表記を保持したい場合は「すべて文字列として読み込む」を選んでください(この場合、数値の比較や集計には CAST が必要です)。

空欄は NULL として扱われます

型の自動判定では、CSVの空欄は NULL(値なし)になります。結果をCSVに出力するとき、NULL は空のフィールド、空文字列は "" として区別して出力します(1列だけの結果では、どちらも "" になります)。

列名の扱い

ヘッダーが重複・空欄のときは、name_1 や column0 のように自動で補正されます。空白・記号・日本語を含む列名や SQL の予約語は、"列名" のように二重引用符で囲んで指定します。

CSVの解釈と、大きな結果について

CSVはUTF-8・カンマ区切りで読み込みます(サイズは10 MiBまで)。閉じられていない引用符など、他のCSVツールではエラーになる形式も読み込める場合があります。結果は画面に200件ずつ表示され、CSVダウンロードには全件が含まれます。結果が非常に大きい場合は、メモリ不足を避けるため LIMIT などで絞り込んでください。

よくある質問

入力したCSVやSQLはサーバーへ送信されますか?

いいえ。CSVの読み込み・SQLの実行・結果の出力はすべてブラウザ内で完結しており、CSV・SQL・実行結果がサーバーへ送信・保存されることはありません。

最初に読み込みが遅いのはなぜですか?

ブラウザ内でSQLを実行するエンジン(約36 MB)を初回のみ読み込むためです。次回以降はブラウザのキャッシュから読み込まれます。通信が遅い場合は、中止して再試行できます。

CSVはどんなテーブル名でSQLに書けばよいですか?

読み込んだCSVは data という名前のテーブルです。例: SELECT * FROM data WHERE age >= 30 ORDER BY age DESC

INSERT や DELETE などは使えますか?

いいえ。利用できるのはデータを取り出す SELECT 系のクエリ1つです。データの変更、トランザクション制御、複数の文、PIVOT、EXPLAIN は利用できません。読み込んだCSVが変更されることもありません。

「すべて文字列として読み込む」はいつ使いますか?

小数の末尾の0などCSVの元の表記をそのまま保持したいときに使います。この場合、数値の比較や集計には CAST(例: CAST(age AS INTEGER) >= 30)が必要です。切り替えるとCSVを読み込み直し、実行結果はリセットされます。

空欄と NULL の違いは何ですか?

型の自動判定では、CSVの空欄は NULL(値なし)として扱われます。「すべて文字列として読み込む」では空文字列として保持されます。CSV出力では、NULL は空のフィールド、空文字列は "" として区別します。

結果が大きくてダウンロードできないときは?

LIMIT や WHERE で結果を絞り込んでください。表示とページ移動は引き続き利用できます。

エラーの詳細が表示されないのはなぜですか?

CSVの内容(セル値)や内部のパスが画面に出ないよう、エラーは原因を分類した説明だけを表示しています。列名の指定(二重引用符)やテーブル名 data をご確認ください。