< 返回版块

shencangsheng 发表于 2026-05-20 14:21

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

EasyDB v2.8.0 发布:当 SQL 遇见一切数据源

从本地文件到云端数据库,一条 SQL 贯通所有数据。无需安装,无需配置,打开即用。

EasyDB 是什么?

EasyDB 是一款轻量级桌面数据查询工具,基于 Rust 构建,内置 Apache DataFusion 查询引擎。你不需要安装数据库,不需要配置环境,只需要用标准 SQL 就能直接查询本地文件——CSV、Excel、JSON、Parquet,甚至是 MySQL 和 PostgreSQL 数据库表。

更强大的是,所有数据源可以在同一条 SQL 中联合查询。一份 Excel 报表和一张 MySQL 数据库表,一次 JOIN 就能关联出结果。

-- Excel 和 PostgreSQL 跨源联查,就是这么简单
SELECT t1."product_name", t2."inventory_count"
FROM read_excel('/data/products.xlsx') AS t1
INNER JOIN
read_postgres('inventory', host => 'localhost', username => 'postgres', db => 'mydb') AS t2
ON t1."product_id" = t2."id"
WHERE t2."inventory_count" < 100;

新特性

  • 分页加载:查询结果按每页 200 行加载
  • 智能补全升级:列名自动用双引号包裹,告别手写引号导致的语法错误
  • 布局优化:修复数据列未填满时右侧空白区域的问题,界面更紧凑
  • 列类型配置:SQL 导出支持为每列选择 INT / DOUBLE / TEXT 目标类型,数值不被引号包裹,文本始终被引号包裹——导出的 SQL 拿来就能执行,不再需要手动修类型
  • Excel 类型推断优化:整数值不再被误判为 Float64,42 就是 42,不是 42.0
  • 双栏导出对话框:左侧基本设置,右侧列类型配置面板,一目了然
  • read_postgres() 来了:继 MySQL 之后,PostgreSQL 数据库查询正式支持。CSV + Excel + MySQL + PostgreSQL,四大数据源全部到齐
  • 导出列配置:支持修改导出字段名、移除不需要的列
  • BOOL 类型支持:布尔值导出为 true / false,不再被引号包裹
  • 空文本输出为 NULL:一键勾选,TEXT 类型空字符串输出 NULL,数据清洗更省心
  • 类型推断增强:支持 BIGINT、SMALLINT、DECIMAL、NUMERIC、REAL、CHAR、VARCHAR 等更多 SQL 类型关键字
  • 性能优化:SQL 类型解析使用预解析枚举,替代热循环中的重复字符串分配
  • 精度修复:UInt64 大整数导出不再丢失精度;INT/FLOAT 列中非数值数据导出为 NULL 而非无效 SQL

完整 SQL,不只是 SELECT

EasyDB 内置 Apache DataFusion 引擎,提供完整 SQL 能力:

-- 窗口函数
SELECT "name", "salary",
       AVG("salary") OVER (PARTITION BY "department") AS dept_avg
FROM read_csv('/data/employees.csv');

-- 子查询
SELECT *
FROM read_excel('/data/sales.xlsx') AS s
WHERE "amount" > (SELECT AVG("amount") FROM read_excel('/data/sales.xlsx'));

-- 正则匹配
SELECT *
FROM read_csv('/data/logs.csv')
WHERE REGEXP_LIKE("message", '^ERROR:\s+\d{3}');

EasyDB vs DuckDB:两种哲学,两种选择

DuckDB 是优秀的嵌入式分析引擎,在 OLAP 场景中表现卓越。但当你想要一个开箱即用的桌面工具,用 SQL 直接查询本地文件和数据库时,两者的设计哲学截然不同:

维度 EasyDB DuckDB
定位 桌面数据查询工具 嵌入式分析数据库引擎
使用方式 下载安装,打开即用,GUI 界面 CLI / 嵌入式 API,需编程或命令行
GUI 界面 原生桌面应用,拖拽文件自动生成 SQL 浏览器扩展 UI(需联网加载资源)
数据源 CSV、TSV、Text、Excel、NdJson、Parquet、MySQLPostgreSQL CSV、JSON、Parquet、Excel(扩展)、MySQL/PostgreSQL(ATTACH)
跨源联查 原生支持,同一 SQL 中 JOIN 任意数据源 支持 ATTACH,但需额外配置
查询引擎 Apache DataFusion DuckDB 自研引擎
SQL 导出 INSERT / UPDATE,列重命名、列移除、类型映射、方言选择 需编程实现
编辑器 语法高亮 + 智能补全 + 格式化 + 快捷键 CLI 无编辑器,UI 有基础补全
离线使用 完全离线 UI 需联网加载远程资源
多实例 支持 不支持同一数据库多实例并发
学习成本 会写 SQL 即可使用 需了解 DuckDB 特有语法和 API

一句话总结:DuckDB 是给开发者的分析引擎,EasyDB 是给所有人的数据查询工具。

如果你是一个数据分析师,拿到一份 Excel 报表只想快速筛选几行数据;如果你是一个 DBA,想在不写代码的情况下把 CSV 文件和 MySQL 表做一次 JOIN——EasyDB 就是为你设计的。


数据源一览

格式 函数 说明
CSV read_csv() 自定义分隔符、表头、Schema 推断
TSV read_tsv() Tab 分隔文件
Text read_text() 通用文本文件,自定义分隔符
Excel read_excel() / read_xlsx() .xlsx 支持,可选工作表
NdJson read_ndjson() 每行一个 JSON 对象
Parquet read_parquet() 列式存储格式
MySQL read_mysql() 直连 MySQL 数据库表
PostgreSQL read_postgres() 直连 PostgreSQL 数据库表

快速开始

  1. 访问 GitHub Releases 下载安装包
  2. macOS:下载 .dmg,拖拽到应用程序文件夹
  3. Windows:下载 .exe,运行安装程序
  4. 拖拽任意文件到编辑器,自动生成 SQL,按 ⌘Enter 执行

就这么简单。


AI

关于 AI,我一直有一些很复杂的感受。

从 2022 年开始关注大模型,到 2023 年正式开始使用 ChatGPT 辅助编程,我几乎完整经历了这一轮 AI 编程工具的演进:从 GPT-3、GPT-4o,到 Gemini、Claude、DeepSeek、GLM;从 IDEA、VSCode,到 Cursor、Antigravity、Codex……变化快得有些不真实。

其实这个项目的雏形,早在 2020 年我就已经有了想法。2021 年,我开始接触 Rust;2024 年正式启动开发;2025 年发布第一个版本。一路走来,AI 的确发挥了非常大的作用。

因为我的前端水平比较一般,所以对于 EasyDB 来说,前端曾经是我最大的障碍。AI 出现后,我开始尝试让它帮我完成前端部分的开发。那个时候 AI Agent 还不成熟,大模型对 Rust 的代码生成能力也很弱,一次通过率极低,生成质量也不理想,所以 EasyDB 的核心 Rust 代码,长期都是我“古法编程”一点点写出来的。

但现在不一样了。

随着 AI Agent 模式逐渐成熟,大模型对 Rust 的理解和生成能力已经强得惊人。v2.6.0 版本,算是我最后一个主要靠“古法编程”完成 Rust 开发的版本;从那之后,后续版本几乎都是我借助 AI 完成的。

开发速度变得非常快,代码质量也并不差。

可奇怪的是,我却慢慢失去了对编程最初的兴奋感。

以前上线一个新版本,我会因为一个功能终于实现、一次性能优化终于成功而感到兴奋,会有一种“这是我亲手做出来的东西”的满足感。但现在,即使迭代速度更快、产出更多,我却很少再有那种激动。

更多时候,是一种说不出的空虚。

我开始觉得,自己像是在“指挥”一个项目,而不是亲手“孵化”它。代码依然属于我,项目依然由我推进,但那种创作者与作品之间强烈的连接感,似乎正在被 AI 一点点稀释。

这也让我第一次对开源、对程序员这个行业,产生了一种复杂的惋惜感。

也许未来,我们不会再因为一个功能实现、一次底层优化而兴奋;也许很多曾经需要长期积累的技术能力,终究都会被 AI 接管。

我已经半年多没有真正“古法编程”了。

但让我意外的是,我没有因为效率提升而感到兴奋,反而只感受到越来越强的空虚感。


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

如果 EasyDB 对你有帮助,请给个 Star


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

评论区

写评论

还没有评论

1 共 0 条评论, 1 页