sql - 用于自定义/预定义 SQL 查询的 Web GUI

标签 sql linux postgresql report

在重新发明轮子之前,我想请 stackoverflow 社区向我推荐一个可以解决一个非常常见(可能)的问题的工具:

我有一组带有可变参数的 SQL 查询,如下所示:

SELECT title, author, created_at 
FROM books
WHERE created_at BETWEEN <start_date> AND <end_date> ;

我需要一个工具(最好是 web 应用程序),它可以让我通过以下方式查看此查询的结果 从 GUI(日期选择器、文本框等)更改参数而不更改查询模板或程序代码。 将结果导出到 csv 或 xls 也可以。

我知道一些工具,如 PHPMyAdmin,对极客有好处 - 不适合非合格用户,而且通常不安全。

非常接近我想要的是:https://github.com/burke-software/django-report-builder 但由于 ORM 界限,它对我可以使用的查询类型有很大限制

最佳答案

我不太喜欢许多开箱即用的 Web 解决方案……除了 phpMyAdmin 之类的解决方案……您已经提到它们不太适合您的情况。

但是,还有一些其他工具可能会起作用。

DB Visualizer .该工具允许对查询中的值进行参数化。我虔诚地使用这个工具来完成各种数据库任务。这很好,因为它适用于多个 DBMS。但是,它可能不会像您可能需要的那样限制对修改查询的访问……并且比每天对用户友好的开发人员/sql-saavy 更友好。

我不确定您是否考虑过的另一个选项是使用 Excel本身并定义您自己的工作簿,这些工作簿具有参数化的查询。对于日常用户来说,这可能是最有用的……但您需要进行一些前期开发。如果您愿意花时间,这对您的最终用户来说可能是最干净的。你可以:

  1. 向用户隐藏/保护查询本身,并且只公开 您希望他们能够参数化的数据。
  2. 为您生成的任何报告格式化返回的数据。
  3. 数据已采用 Excel 表格格式,以便进行额外的排序和过滤。

这些可能是您已经考虑过的选项……但我想我会把它们扔在那里……以防万一。

关于sql - 用于自定义/预定义 SQL 查询的 Web GUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26083220/

相关文章:

sql - 如何在 SQL Server Management Studio 中关闭与本地数据库的所有连接?

sql - INTERVAL '1' DAY 是否始终等于 INTERVAL '24' HOURS?

linux - 理解从进程内核栈中获取task_struct指针

linux - 在共享主机上安装 git - ./configure : no such file or directory

postgresql - 如何在 PostgreSQL 数据库中处理多种人类语言?

此 INSERT 上的 MySQL 错误 #1064?

mysql - 为什么更新查询在此功能中不起作用?

linux - 在 SED 中加入行中断条件

mysql - 在 MySQL 中选择变量时防止重复

node.js - 尝试搜索具有关联多对多 Sequelize 的实体