Repolode
neilotoole

neilotoole/sq

CSV、Excel、JSONなどのファイルやSQLデータベースに、jq風またはSQL構文でクエリやJOINを実行できるCLIツール。

スター
2,573
フォーク
43
未解決の Issue
87
最終コミット
昨日

これは何?

sqは、SQLデータベースやCSV、TSV、JSON、Excel XLSXなどのドキュメントファイルを、クエリ可能なデータソースとして扱うCLIツールです。各ソースにハンドルを割り当て、jq風のクエリ言語またはネイティブSQLでコマンドを実行できます。

sqでは、CSVファイルとPostgresのテーブル、MySQLのテーブルとExcelのワークシートなど、異なるソース間でデータをJOINできます。クエリ結果はJSON、CSV、XLSX、HTML、Markdown、XMLなどの形式で出力でき、データベースのテーブルに直接挿入することもできます。また、テーブル、カラム、サイズなどのソース構造を確認したり、スキーマや行データの差分を調べたり、テーブルのコピー、TRUNCATE、DROPを実行したりできます。

プロジェクトではSQLite、DuckDB、PostgreSQL、SQL Server、MySQL、ClickHouse、Oracle、rqlite用のドライバーが案内されており、Homebrew、Scoop、シェルスクリプト、Go、Dockerでインストールできます。

主な機能

  • 01jq風の構文またはネイティブSQLでデータソースにクエリを実行。
  • 02CSVとPostgresなど、異なるソース間のテーブルをJOIN。
  • 03結果をJSON、CSV、XLSX、HTML、Markdown、XMLなどにエクスポート。
  • 04ソースのメタデータを確認し、スキーマや行データの差分を調査。
  • 05SQLデータベースのソースでテーブルのコピー、TRUNCATE、DROPを実行。

ユースケース

  • アドホック分析のために、ExcelシートやCSVのエクスポートデータを本番データベースのテーブルとJOINする。
  • 見慣れないSQLiteやPostgresのデータベースをターミナルから調べる。
  • シェルのパイプラインで、スプレッドシートやCSVをJSONなどの形式に変換する。
  • 2つのデータベース環境間でスキーマやデータを比較する。

クイックスタート

  1. 1

    Homebrewを使ってmacOSにインストール

    brew install sq
  2. 2

    Scoopを使ってWindowsにインストール(先にbucketを追加)

    scoop bucket add sq https://github.com/neilotoole/sq
  3. 3

    Goでインストール(SQLiteのbuild tagsが必要)

    go install -tags "sqlite_vtable sqlite_stat4 sqlite_fts5 sqlite_introspect sqlite_json sqlite_math_functions" github.com/neilotoole/sq@latest
  4. 4

    READMEに記載されているLinux用の公式インストールスクリプトを実行

使う前に知っておきたいこと

  • Linuxへのインストールではダウンロードしたシェルスクリプトを使用します。また、Goでインストールすると、cloneしたリポジトリからmake installでビルドしない限り、バージョンはv0.0.0-devと表示されます。

収録されている特集

トピック

よくある質問

sq とは?
CSV、Excel、JSONなどのファイルやSQLデータベースに、jq風またはSQL構文でクエリやJOINを実行できるCLIツール。 sqは、SQLデータベースやCSV、TSV、JSON、Excel XLSXなどのドキュメントファイルを、クエリ可能なデータソースとして扱うCLIツールです。各ソースにハンドルを割り当て、jq風のクエリ言語またはネイティブSQLでコマンドを実行できます。
sq は無料で使えますか?ライセンスは?
sq は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
sq は今もメンテナンスされていますか?
活発にメンテナンス中。sq の最終コミットは 2026年10月21日 です。
sq は何に使えますか?
アドホック分析のために、ExcelシートやCSVのエクスポートデータを本番データベースのテーブルとJOINする。 見慣れないSQLiteやPostgresのデータベースをターミナルから調べる。 シェルのパイプラインで、スプレッドシートやCSVをJSONなどの形式に変換する。 2つのデータベース環境間でスキーマやデータを比較する。
sq のインストール方法は?
Homebrewを使ってmacOSにインストール: brew install sq Scoopを使ってWindowsにインストール(先にbucketを追加): scoop bucket add sq https://github.com/neilotoole/sq Goでインストール(SQLiteのbuild tagsが必要): go install -tags "sqlite_vtable sqlite_stat4 sqlite_fts5 sqlite_introspect sqlite_json sqlite_math_functions" github.com/neilotoole/sq@latest READMEに記載されているLinux用の公式インストールスクリプトを実行
sq はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/neilotoole/sq

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト