一款终端里的电子表格工具,用于浏览、整理和转换多种格式的表格数据。
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
在 macOS 上用 Homebrew 安装
brew install sq - 2
在 Windows 上用 Scoop 安装(需先添加 bucket)
scoop bucket add sq https://github.com/neilotoole/sq - 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
运行 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 数据每日更新。
相关项目
一款轻量的终端(TUI)应用,用于查看和查询 CSV、Parquet、JSON、Excel、SQLite 等表格数据文件。
一个 Java 电子表格读写库,内存占用低,适合处理大文件。
一个命令行工具,通过 ADBC 驱动执行 SQL 查询,支持交互式终端和结果导出。
基于 Go 的数据库迁移工具,提供 CLI 和库,按顺序将结构变更应用到多种数据库。