# SQL

1 posts in # SQL

  • One-liner for running queries against CSV files with SQLite という記事で紹介されていた、ワンライナーを使って CSV ファイルに対して SQL クエリを実行する方法。

    $ sqlite3 :memory: -cmd '.mode csv' -cmd '.import taxi.csv taxi' \
      'SELECT passenger_count, COUNT(*), AVG(total_amount) FROM taxi GROUP BY passenger_count'
    

    ソース元に記述されてる通り、taxi.csv を GitHub からダウンロードして試すことができる。7z で圧縮されていて解凍する必要がある。

    SQLite は通常ストレージディスク(SSD とか)上に保存して利用するのが一般的だが、SQLite 側で用意されている特別なファイル名 :memory: を指定して開くことでデータをインメモリで扱うことができる。これについては SQLite の In-Memory Databases 1 のページで紹介されている。

    taxi.csv の中身はこんな感じの CSV ファイル。

    Footnotes

    1. これは virtual table API を利用して実現されているらしい。この API は全文検索でも利用されているっぽい。