1. Supabase
简介:Supabase 是一个开源的 Firebase 替代品,基于 PostgreSQL 构建。它支持通过 SQL 进行灵活的数据查询,并提供了图形化界面,便于快速集成。
特点:
支持复杂的 SQL 查询(包括 JOIN、WHERE 等条件)。
提供了强大的 REST API 和 GraphQL API,可以通过这些 API 与前端进行数据交互。
通过自定义视图和 SQL 查询,可以轻松配置预设的数据集。
自动化的认证和授权机制。
内置的导出功能(可以导出查询结果到 CSV 等格式)。
适用场景:适用于快速开发和小型的查询工具,支持自定义查询条件和输出字段的选择。
使用步骤:
配置好数据集(通过 SQL 视图或查询);
在前端使用 Supabase 提供的 API 进行数据查询;
允许用户选择查询条件和输出字段(通过动态生成的表单)。
官网:https://supabase.com
2. Hasura
简介:Hasura 是一个开源的 GraphQL 引擎,可以直接基于 PostgreSQL 或其他数据库自动生成 GraphQL API。它支持复杂的查询、关联、以及权限控制。
特点:
自动生成 GraphQL API:通过 Hasura,可以无需手动编写 API 代码,自动生成 GraphQL 查询接口。
实时查询:支持实时订阅和变更监听,非常适合对实时数据更新敏感的应用。
灵活的权限控制:可以对每个查询和字段进行细粒度的权限控制。
导出功能:可以通过 Hasura 提供的 GraphQL 查询获取数据,导出功能可通过自定义实现。
适用场景:适用于需要在数据库基础上构建可自定义查询的应用,尤其是在需要复杂查询和关联的场景中。
使用步骤:
配置好数据库和关联查询(通过 GraphQL 直接操作数据库);
在前端构建动态表单,使用 GraphQL 查询数据并导出结果。
官网:https://hasura.io
3. Metabase
简介:Metabase 是一款开源的商业智能(BI)工具,提供了丰富的数据查询和展示功能,可以快速构建数据仪表盘和报告。
特点:
无代码查询:Metabase 提供了一个图形化的界面,用户可以通过简单的拖拽和选择来设置查询条件和输出字段,无需编写 SQL 代码。
灵活的查询条件:支持动态设置查询条件,用户可以选择过滤字段,甚至支持多个条件组合。
支持导出:可以导出查询结果为 CSV、Excel 等格式。
支持多种数据源:可以连接到多种数据库,包括 PostgreSQL、MySQL、MongoDB 等。
适用场景:适合快速构建基于数据库的查询工具,提供了非常直观的界面来帮助用户设置查询条件和字段输出。
使用步骤:
配置好数据库连接,创建预设的数据集;
在 Metabase 中创建自定义查询、设置查询条件和输出字段;
通过图形化界面生成报表或导出数据。
官网:https://www.metabase.com
4. Redash
简介:Redash 是一个开源的数据可视化工具,可以连接多种数据源,并支持 SQL 查询、可视化分析和报告导出。
特点:
支持 SQL 查询和可视化:用户可以使用 SQL 查询工具,灵活地构建查询。
动态查询条件:支持通过参数化的查询,让用户可以输入查询条件。
报表和导出:可以将查询结果保存为报表,并导出为 Excel 或 CSV 文件。
多数据源支持:支持连接多种常见的数据库,如 PostgreSQL、MySQL、Google BigQuery 等。
适用场景:适用于需要简单、快速的数据查询工具,尤其适合有 SQL 查询经验的用户。
使用步骤:
配置数据库连接和数据源;
创建查询模板,并允许用户输入查询条件;
导出查询结果并提供可视化报表。
官网:https://redash.io
5. Directus
简介:Directus 是一个开源的内容管理和数据平台,提供了强大的 API 和图形化管理界面,可以快速构建查询工具。
特点:
灵活的数据管理:通过图形化界面,用户可以轻松地管理数据并设置查询条件。
动态查询:支持通过 API 动态传递查询参数,可以允许前端设置查询条件。
权限管理:可以设置不同级别的权限,控制谁能查看或编辑数据。
导出功能:支持导出数据为 CSV 或其他格式。
适用场景:适用于需要灵活配置查询条件和数据管理的应用,尤其适合内容管理或简单的数据查询应用。
使用步骤:
配置好数据集和字段;
在前端构建动态查询表单,允许用户设置查询条件;
使用 Directus 提供的 API 获取结果,并支持导出。
官网:https://directus.io
,
JDBC:这是最简单的数据库查询方法,通过Java API提供。您只需定义好SQL查询语句,然后在前端页面上设置查询条件,最后导出结果表单。
Dash:这是一款文档查询工具,但它也可以用于创建查询工具。您可以将其与Python结合,利用其丰富的文档库来快速构建前端界面,并设置查询条件。
SQLAlchemy:这是Python中的一款优秀的ORM框架,可以与各种第三方web框架(如flask、tornado、django、fastapi等)结合使用。它提供了一种更接近原生的方式来执行SQL查询,使得开发者可以更加灵活地定义查询条件和输出字段。