< 返回版块

shencangsheng 发表于 2025-11-27 18:51

Tags:txt,csv,xlsx,json,query-editor,sql-assisant

EasyDB v2.3.0 发布

EasyDB 是一款轻量级的桌面数据查询工具,基于 Rust 构建,可使用标准 SQL 直接查询本地文件并支持与数据库联查。 内置 DataFusion 查询引擎,无需安装额外的数据库或工具,即可将 CSV、Excel、JSON 等文件视作数据表进行查询。同时支持连接 MySQL,将本地文件与数据库表在同一条 SQL 中联合查询。

EasyDB 支持多表 JOIN、子查询、窗口函数等完整 SQL 功能,能够高效处理从数百 MB 到数 GB 的大型文本文件,并在较低硬件资源下保持稳定运行。

Github: https://github.com/shencangsheng/easydb_app

主要变更:

  • 新增 read_mysql() 函数,支持 MySQL 数据库查询
  • 优化导出 SQL 文件时的性能,降低导出 GB 级别的 SQL 文件所需要的资源和时间
  • 新增 SQL 语句导出时可以选择数据库方言,支持 MySQL 和 PostgreSQL
  • 优化 read_excel() 不再默认使用 Sheet1 作为默认工作表,而是选择第一个工作表
  • 修复无法嵌套查询的问题

示例

-- 查询 CSV 文件
SELECT *
FROM read_csv('/path/to/file.csv', infer_schema => false)
WHERE `age` > 30

-- 查询 Excel 文件
SELECT *
FROM read_excel('/path/to/file.xlsx', sheet_name => 'Sheet2')
WHERE `age` > 30

-- 查询 JSON 文件
SELECT *
FROM read_dnjson('/path/to/file.json')
WHERE `status` = 'active';

-- 查询 MySQL 数据库
SELECT *
FROM read_mysql('users', conn => 'mysql://user:password@localhost:3306/mydb')
WHERE `age` > 30

SELECT *
FROM read_excel('/path/to/file.xlsx', sheet_name => 'Sheet1') as t1
inner join
read_mysql('users', conn => 'mysql://user:password@localhost:3306/mydb') as t2 
on (t1.`user_id` = t2.`id`)
WHERE t1.`age` > 30

Ext Link: https://github.com/shencangsheng/easydb_app

评论区

写评论

还没有评论

1 共 0 条评论, 1 页