2015-02-23 20 views
0

有兩個數據庫:FirstSecond, 首先包括表A和第二個包括表B 現在 我想訪問表B,而使用數據庫第一。 我應該在MySql中運行什麼查詢?我們如何訪問另一個數據庫中存在的mysql表?

+0

進一步的細節是什麼表,什麼領域是什麼字段類型是那些樣例輸入什麼樣的期望等等? – SMA 2015-02-23 05:31:57

+0

[MySQL:連接跨多個數據庫位於不同服務器上的查詢]的可能重複(http://stackoverflow.com/questions/1622857/mysql-join-query-across-multiple-databases-located-on-different-servers) – 2015-02-23 05:33:07

回答

0
SELECT * 
FROM `database1`.`mycol1` 
    WHERE option_name="blah" 
UNION 
SELECT * 
FROM `database2`.`my_col2` 
    WHERE option_name="blah" 

您可以使用它。 。

+0

我很確定這個語法是用來從'TABLE'中選擇的,而不是數據庫。有沒有其他人對此有任何意見? – andrewgu 2015-02-23 05:36:05

+0

@ fond42518你可以測試這個代碼,它工作正常,可以使用兩個數據庫。 。 – 2015-02-23 05:39:22

0

使用本

GRANT ALL PRIVILEGES ON DBNAME.* TO [email protected]; IDENTIFIED BY 'password'; 比火災後查詢你想要什麼。如下查詢

SELECT a.* FROM databaseA.tabA a 
LEFT JOIN databaseB.TabB b ON a.id=b.id 
WHERE b.id IS NOT NULL;` 

取決於tabA和tabB之間匹配的字段。

0

這裏有一個例子:

Joining MySQL tables across multiple databases

SELECT a.* FROM database1.tableA a 
LEFT JOIN database2.TableB b ON a.id=b.id 
WHERE b.id IS NOT NULL; 

您需要前綴表參考它所在的數據庫的名稱。

0

我相信你正在尋找join語法,它創建了First tableSecond table之間的關係。基本上,你可以通過完全限定它在另一個數據庫訪問表,例如:

select * from [databasename].[tablename];

0

嘗試做一些象下面這樣:

select * from second.B 
相關問題