在 Node.js 中连接到多个 MySQL 数据库
Posted
技术标签:
【中文标题】在 Node.js 中连接到多个 MySQL 数据库【英文标题】:Connecting To Multiple MySQL Databases in Node.js 【发布时间】:2020-11-04 09:12:12 【问题描述】:我正在尝试使用某种类型的下拉列表来显示来自指定主机的所有数据库的列表。基本上,我的目标是让用户能够从下拉列表中选择一个数据库并能够运行报告。但是我被困在如何连接到主机并能够将列表显示到下拉列表中。我做了一些研究,但我没有得到任何关于如何解决这个问题的明确答案。
【问题讨论】:
听起来你在寻找SHOW DATABASES
只需不带database
参数的连接,然后运行对上述命令的查询。
@ChrisG - 非常感谢您的意见。完全有道理。介意我问你一个后续问题吗?我得到了它的工作,但是进行多个查询的最佳方法是什么?我计划的一部分是“显示”数据库,然后“使用”数据库,运行 SELECT 查询等。此外,由于某种原因,我似乎无法理解如何进出不同的数据库。
您需要将您尝试过的代码放在问题中并描述它是如何失败的。您需要实现的主要目标是构建一个快速服务器,该服务器根据传入的请求按顺序运行任意查询。很明显,我真的不能在这里辅导你;可以说我已经成功运行了 USE
查询和随后的 SHOW TABLES
查询,没有问题。
如果您使用的是 node-mysql,您可能希望它为您更改连接。由于通常不同的数据库也有不同的用户名和密码,所以这一切都在一次调用中涵盖。看:github.com/mysqljs/…
【参考方案1】:
要获取数据库名称,请查询information_schema.TABLES
数据库。
SELECT Table_schema AS 'Databases'
FROM information_schema.TABLES
GROUP BY table_schema`;
然后像这样进行您的报告查询:
SELECT * FROM `dbname`.`tablename` WHERE date >= 'XXXX-XX-XX' AND date <= 'XXXX-XX-XX';
其中dbname
是您从下拉列表传递到后端查询的数据库名称。
【讨论】:
以上是关于在 Node.js 中连接到多个 MySQL 数据库的主要内容,如果未能解决你的问题,请参考以下文章