同时查询多个数据库
跨多个数据库访问数据可能是一项复杂的任务,尤其是在查询分布在多个数据库中的特定信息时
场景
考虑这样一种情况,您有多个单独的 WordPress 数据库,每个数据库代表不同的 WordPress 站点。要更新功能,您需要查询每个 WordPress 实例的活动插件列表。活动插件使用 WHERE 子句存储在“wp_options”表中:
WHERE option_name = 'active_plugins'
挑战
挑战在于从所有数据库检索活动插件信息并显示它作为单个 SQL 结果。虽然database.tablename语法是已知的,但确定如何跨多个数据库应用WHERE语句仍然是个问题。
解决方案
要同时查询多个数据库,UNION可以雇用操作员。 UNION 运算符将多个 SELECT 语句组合成一个结果。通过使用 UNION 运算符,您可以将每个数据库的结果无缝合并为一个统一的 SQL 结果。
以下 SQL 查询举例说明了如何完成此操作:
SELECT option_value FROM `database1`.`wp_options` WHERE option_name="active_plugins" UNION SELECT option_value FROM `database2`.`wp_options` WHERE option_name="active_plugins"
此查询检索活动插入来自“database1”和“database2”的数据,并将结果整理成一个完整的结果集。
以上是如何同时查询多个数据库获取数据?的详细内容。更多信息请关注PHP中文网其他相关文章!