JavaScript 中的数据库 GUI
如果您想访问数据库,例如在开发过程中,您有很多工具可以选择。传统工具通常用 Java、C++ 甚至 Delphi 编写,并使用传统的 JDBC、ODBC 或 ADO.NET 驱动程序来访问数据库。
如果您是 JavaScript 开发者,尤其是 NodeJS 开发者,那么使用一些用 JavaScript 编写的新工具或许是更好的选择,因为:
- 这些工具使用与你的应用程序相同的驱动程序,因此,如果你的应用程序中存在任何数据库问题,你可以在图形用户界面 (GUI) 中进行测试并获得类似的结果。
- 它们大多具有与 VS Code(许多 JS 开发人员使用的 IDE)类似的视觉风格。
- 其中一些可以通过导出和导入作业导出 JS 脚本。
- 几乎所有工具都是开源的。您可以查看源代码并从中汲取灵感,例如如何解决连接相关问题。
此列表包含 5 个数据库客户端,全部用 JavaScript 编写。
| 姓名 | GitHub | 技术 | 执照 |
|---|---|---|---|
| Azure Data Studio | GitHub | VS Code | 微软 |
| DbGate | GitHub | 苗条 | 麻省理工学院 |
| 养蜂人工作室 | GitHub | 观景台 | 商业/GPL |
| Antares SQL | GitHub | 观景台 | 麻省理工学院 |
| Sqlectron | GitHub | React | 麻省理工学院 |
所有工具都具有一些共同的特点:
- 使用 JavaScript、TypeScript 和 NodeJS
- 使用 ElectronJS 作为应用程序构建器
- 适用于 Windows、Linux 和 Mac 系统(但只有部分系统支持 Apple M1 处理器)
Azure Data Studio
Azure Data Studio (ADS)直接基于 VS Code 技术构建,因此其外观和操作体验与 VS Code 最为接近。它主要面向 Microsoft SQL Server,但您也可以安装扩展程序以支持数量有限的其他数据库(但不支持 MySQL)。如果您对 Microsoft Management Studio 感到满意,并且正在寻找更现代的工具或可在 Linux 和 Mac 系统下运行的工具,那么 ADS 或许能满足您的需求。但如果您想要快速搜索和理解数据(例如,无需手动编写 SQL 代码即可使用筛选和排序功能),建议您尝试其他工具。ADS 也支持诸如 SQL 解释(但似乎不如 SQL Management Studio 中的功能强大)或 Jupyter Notebook 等功能。ADS 由 Microsoft 维护,并且是免费开源的。
支持的数据库:
- Microsoft SQL Server
- Postgre SQL(通过扩展)
- Oracle(通过扩展)
- CosmoDB(通过扩展)
- MongoDB(通过扩展)
DbGate
DbGate是列表中功能最丰富的客户端。它采用单窗口多连接、多数据库的设计理念,每个选项卡都标有关联的数据库名称。它拥有许多有趣的数据导航功能,例如主/从视图和表单视图,以及类似 Excel 的数据编辑功能。此外,您还可以使用一些您可能在传统客户端中熟悉的功能,例如查询设计器或 ER 图查看器。它是列表中唯一提供 Web 版本的客户端(您可以在演示应用程序中体验)。但是,如果您只需要向单个数据库编写简单的 SQL 查询,则可以使用更简单的解决方案。否则,如果您不想编写重复的简单查询,那么这款工具将是您的理想之选。DbGate 由 Jan Prochazka(本文作者)开发。
支持的数据库:
- MySQL+MariDB
- PostgreSQL+CockroachDB+Amazon Redshift
- Microsoft SQL Server
- SQLite
- MongoDB
- Redis
养蜂人工作室
Beekeeper Studio是一款流行的现代化图形用户界面客户端。它仅提供基本功能(专注于编写 SQL 查询),但界面美观,基本工作流程也非常出色。其核心设计理念是,每个打开的窗口仅包含来自一个数据库的表和查询。如果您需要同时处理多个数据库,则需要打开多个应用程序窗口。Beekeeper Studio 有两个版本:社区版和商业版。社区版是免费开源的,付费的商业版则提供一些额外的功能(例如,支持 Oracle 数据库)。Beekeeper Studio 由 Matthew Rathbone 开发和维护,并在 GitHub 上拥有一个非常活跃的贡献者社区。
支持的数据库:
- MySQL+MariDB
- PostgreSQL+CockroachDB+Amazon Redshift
- Microsoft SQL Server
- SQLite
- Oracle(仅限商业版)
Antares SQL
Antares可能是这份列表中最年轻的客户端。它拥有独特的视觉风格。它支持多个数据库,但每个窗口只连接一个数据库。您可以使用左侧面板切换连接,这与其他工具(包括 VS Code)中用于切换控件的功能类似。它对 PostgreSQL 和 MySQL 的 SQL 转储功能相当出色(能够对数据库/选定的表进行 SQL 备份),而这对于其他工具来说却是一个难题。此外,它还使用了臭名昭著的faker.js 库,您可以使用该库插入包含测试数据的新行。Antares 由 Fabio Di Stasio 开发。
支持的数据库:
- MySQL+MariDB
- PostgreSQL
- SQLite
Sqlectron
另一方面,Sqlectron是列表中最古老也是最简单的工具。Beekeeper Studio 的源代码就源自 Sqlectron。它还提供控制台版本,这在同类工具中相当独特。Sqlectron 由多位贡献者共同开发,但目前似乎已不再活跃维护。
支持的数据库:
- MySQL+MariDB
- PostgreSQL + Amazon Redshift
- Microsoft SQL Server
- SQLite
- 卡桑德拉
功能对比
此表仅包含通用功能(至少两种工具都实现了这些功能)。特定于某个工具的功能已在前面提及。
| 特征 | Azure Data Studio | DbGate | 养蜂人工作室 | Antares SQL | Sqlectron |
|---|---|---|---|---|---|
| 代码补全 | 是的 | 是的 | 是的 | 是的 | 不 |
| 查询格式化程序 | 是的 | 是的 | 是的 | 是的 | 不 |
| 查询历史记录 | 不 | 是的 | 是的 | 不 | 不 |
| 浅色和深色模式 | 是的 | 是的 | 是的 | 是的 | 不 |
| 可在 Mac M1 上运行 | 不 | 是的 | 是的 | 不 | 不 |
| 表格筛选和排序 | 不 | 是的 | 是的 | 是的 | 不 |
| 外键导航 | 不 | 是的 | 是的 | 不 | 不 |
| 表格结构编辑器 | 不 | 是的 | 仅新表 | 是的 | 不 |
| 导出 SQL 转储 | 不 | MySQL | 不 | MySQL、PostgreSQL | 不 |
| 插件 | 是的 | 是的 | 不 | 不 | 不 |
| 进口 | 不 | CSV、NDJSON、Excel、XML | 不 | 不 | 不 |
| 出口 | CSV、Excel、JSON、XML | JSON、NDJSON、SQL、CSV、Excel、XML | JSV、JSON、NDJSON、SQL | JSON、CSV、SQL | CSV、JSON |
如果您知道本文中未列出的其他工具,可以在下面的评论中写下来。
文章来源:https://dev.to/janproch/database-guis-in-javascript-2dpb




