MySQL是一款廣泛使用的開源數據庫管理系統。雖然MySQL支持在同一實例下多個庫,但在某些場景下需要實現跨庫操作,即MySQL跨庫查詢。下面我們來學習一下如何實現MySQL跨庫操作。
GRANT ALL ON database1.* TO 'user'@'localhost'; GRANT ALL ON database2.* TO 'user'@'localhost';
在MySQL中,用戶只有在同一實例下才能訪問其它的數據庫。所以我們需要先給用戶授權。如上述代碼中的GRANT語句,給用戶'user'授予了訪問database1和database2庫的權限。
USE database1; SELECT * FROM table1; USE database2; SELECT * FROM table2;
接著,我們需要使用USE語句來切換操作的數據庫,如上述代碼所示。分別切換到database1和database2庫,并查詢對應的表table1和table2。需要注意的是,如果沒有切換到指定的數據庫,MySQL會默認在當前的數據庫中查找。
SELECT * FROM database1.table1 JOIN database2.table2 ON database1.table1.id = database2.table2.id;
最后,我們可以通過表的限定名來實現MySQL跨庫查詢,如上述代碼所示。在SELECT語句中,使用database1.table1和database2.table2分別表示兩個庫中的表,通過JOIN語句實現連接查詢。這樣,我們就完成了MySQL跨庫操作。