Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在MySQL中构造跨数据库查询?_Sql_Mysql - Fatal编程技术网

如何在MySQL中构造跨数据库查询?

如何在MySQL中构造跨数据库查询?,sql,mysql,Sql,Mysql,我在同一台服务器上有两个数据库。谷歌给了我一些提示,但我找不到任何“官方”的东西。有人能给我指一下说明如何操作的文档吗?使用PHP进行解释也很有用。谢谢 提供了以下示例: SELECT * FROM DB1.myTable1 AS db1, DB2.myTable2 AS db2 SELECT arbogast.node.nid as anid, mcguffin.node.nid as mnid, arbogast.node.title as atitle, mcgu

我在同一台服务器上有两个数据库。谷歌给了我一些提示,但我找不到任何“官方”的东西。有人能给我指一下说明如何操作的文档吗?使用PHP进行解释也很有用。谢谢

提供了以下示例:

SELECT * FROM DB1.myTable1 AS db1, DB2.myTable2 AS db2
SELECT 
  arbogast.node.nid as anid, 
  mcguffin.node.nid as mnid, 
  arbogast.node.title as atitle, 
  mcguffin.node.title as mtitle 
FROM arbogast.node, mcguffin.node 
WHERE arbogast.node.nid = 1 
  AND mcguffin.node.nid = arbogast.node.nid;
其中,
arbogast
mcguffin
是不同的数据库

我在同一台服务器上有两个数据库。。。如何在MySQL中构造跨数据库查询

通过使用适当的数据库名称作为表的前缀,可以访问同一MySQL实例上的其他数据库。即:

SELECT *
  FROM this_database.table_1 t1
  JOIN that_database.table_2 t2 ON t2.column = t1.column
牢记 使用用于设置查询的身份验证的凭据执行查询 连接。如果要跨两个(或多个)同时查询两个表 数据库,用于运行查询的用户将需要选择对所有数据库的访问权限 涉及的数据库

参考:

如果数据库是远程的?