Repolode
neilotoole

neilotoole/sq

一款命令行工具,可用 jq 风格或 SQL 查询和连接数据库及 CSV、Excel、JSON 等文件。

Star
2,573
Fork
43
未关闭 Issue
87
最近提交
22小时前

这是什么?

sq 是一款命令行工具,把 SQL 数据库以及 CSV、TSV、JSON、Excel XLSX 等文档文件统一当作可查询的数据源。每个数据源以 handle 形式添加后,可以用类似 jq 的查询语法或原生 SQL 执行操作。

它支持跨数据源连接,例如把 CSV 文件与 Postgres 表连接,或把 MySQL 表与 Excel 工作表连接。查询结果可输出为 JSON、CSV、XLSX、HTML、Markdown、XML 等格式,也可以直接插入数据库表。此外还能查看数据源结构(表、列、大小),比较表结构和行数据差异,并执行表的复制、清空和删除。

目前支持 SQLite、DuckDB、PostgreSQL、SQL Server、MySQL、ClickHouse、Oracle 和 rqlite 等驱动,可通过 Homebrew、Scoop、安装脚本、Go 或 Docker 安装。

核心功能

  • 01支持用类似 jq 的语法或原生 SQL 查询数据。
  • 02可跨数据源连接表,例如 CSV 与 Postgres 之间的连接。
  • 03查询结果可导出为 JSON、CSV、XLSX、HTML、Markdown、XML 等格式。
  • 04可查看数据源元数据,并比较表结构或行数据差异。
  • 05支持对 SQL 数据库执行表复制、清空和删除操作。

适用场景

  • 将 Excel 工作表或 CSV 文件与生产数据库表连接,进行临时分析。
  • 在终端中快速了解一个陌生的 SQLite 或 Postgres 数据库结构。
  • 在 shell 管道中把表格文件转换为 JSON 等其他格式。
  • 比较两个数据库环境之间的表结构或数据差异。

快速上手

  1. 1

    在 macOS 上用 Homebrew 安装

    brew install sq
  2. 2

    在 Windows 上用 Scoop 安装(需先添加 bucket)

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

    使用 Go 安装(需要 SQLite 构建标签)

    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 安装依赖下载的 shell 脚本;通过 go install 安装时版本号显示为 v0.0.0-dev,若要带版本号需从源码克隆后用 make install 构建。

标签

常见问题

sq 是什么?
一款命令行工具,可用 jq 风格或 SQL 查询和连接数据库及 CSV、Excel、JSON 等文件。 sq 是一款命令行工具,把 SQL 数据库以及 CSV、TSV、JSON、Excel XLSX 等文档文件统一当作可查询的数据源。每个数据源以 handle 形式添加后,可以用类似 jq 的查询语法或原生 SQL 执行操作。
sq 可以免费使用吗?用的什么许可证?
sq 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
sq 还在维护吗?
活跃维护中。sq 最近一次提交是在 2026年10月21日。
sq 适合用来做什么?
将 Excel 工作表或 CSV 文件与生产数据库表连接,进行临时分析。 在终端中快速了解一个陌生的 SQLite 或 Postgres 数据库结构。 在 shell 管道中把表格文件转换为 JSON 等其他格式。 比较两个数据库环境之间的表结构或数据差异。
sq 怎么安装和运行?
在 macOS 上用 Homebrew 安装: brew install sq 在 Windows 上用 Scoop 安装(需先添加 bucket): scoop bucket add sq https://github.com/neilotoole/sq 使用 Go 安装(需要 SQLite 构建标签): 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

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目