Navicat使用教程:如何跨多個數(shù)據(jù)庫查詢
Navicat Premium是一個可連接多種數(shù)據(jù)庫的管理工具,它可以讓你以單一程序同時連接到MySQL、Oracle及PostgreSQL數(shù)據(jù)庫,讓管理不同類型的數(shù)據(jù)庫更加的方便。
隨著Master-Slave拓?fù)浜蛿?shù)據(jù)庫分片等現(xiàn)代實踐的日益普及,數(shù)據(jù)庫管理員(DBA)和開發(fā)人員比以往任何時候都更多地使用多個數(shù)據(jù)庫。通過可以容納多個數(shù)據(jù)庫連接的軟件,這樣做變得更加容易。
這就到了Navicat Premium的用武之地。它是一個數(shù)據(jù)庫開發(fā)、管理和管理工具,允許您同時連接到MySQL,MariaDB,MongoDB,SQL Server,Oracle,PostgreSQL和SQLite數(shù)據(jù)庫。Navicat還兼容大多數(shù)云數(shù)據(jù)庫,包括Amazon RDS,Amazon Aurora,Amazon Redshift,Microsoft Azure,Oracle Cloud,Google Cloud,阿里云,騰訊云,MongoDB Atlas和華為云。
在這篇文章中,我們將學(xué)習(xí)如何構(gòu)建和執(zhí)行SELECT查詢,該查詢將使用navicat Premium的SQL編輯器從多個數(shù)據(jù)庫中獲取數(shù)據(jù)。
建立環(huán)境
我們需要幾個表,每個表都在自己的數(shù)據(jù)庫中。碰巧的是,我們有一些Sakila示例數(shù)據(jù)庫的副本。已創(chuàng)建了actors表的副本并將其內(nèi)容拆分為中間,因此以A到L開頭的名稱在第一個數(shù)據(jù)庫中,以M到Z開頭的名稱在另一個中。這將允許我們將兩組名稱組合成一個結(jié)果集。以下是Navicat對象窗格中的布局:
多數(shù)據(jù)庫SELECT語法
正如您可以在SELECT語句中將默認(rèn)數(shù)據(jù)庫中的表引用為tbl_name一樣,您也可以在表名前加上數(shù)據(jù)庫名稱(例如db_name.tbl_name),以明確指定數(shù)據(jù)庫。數(shù)據(jù)庫前綴也可用于組合一個SELECT語句的表列表中的不同數(shù)據(jù)庫,如FROM關(guān)鍵字后面指定的那樣。因此,以下是有效的SQL:
SELECT database1.table1.field1, database2.table1.field1 FROM database1.table1, database.table1 WHERE database1.table1.age > 12;
使用表連接
您可以像往常一樣加入表格;只需確保通過預(yù)先添加數(shù)據(jù)庫名稱來完全限定表名:
SELECT * FROM database1.table1 T1 JOIN database2.table1 AS T2 ON T1.id = T2.id
如果您不需要在公共字段上加入表,則可以使用UNION運算符組合多個SELECT:
SELECT * FROM database1.table1 T1 WHERE T1.age > 12 UNION SELECT * FROM database2.table1 T2 WHERE T2.age > 12;
現(xiàn)在我們知道如何一次查詢兩個表,讓我們在actors表上嘗試類似的查詢。我們將選擇ID在特定范圍之間的actor:
SELECT T1.actor_id, T1.first_name, T1.last_name FROM sakila.`actor_a-l` T1 WHERE T1.actor_id BETWEEN 30 AND 50 UNION SELECT T2.actor_id, T2.first_name, T2.last_name FROM sakila2.`actor_m-z` T2 WHERE T2.actor_id BETWEEN 30 AND 50 ORDER BY last_name;
你可以得到存在于A - L表中的演員的結(jié)果,而有些演員來自M - Z表:
在這篇文章中,我們學(xué)習(xí)了如何構(gòu)建和執(zhí)行SELECT查詢,以使用Navicat Premium的SQL編輯器從多個數(shù)據(jù)庫中獲取數(shù)據(jù)。Navicat通過獲取關(guān)鍵字的建議并從編碼中刪除重復(fù),幫助您快速編寫代碼完成和可自定義的代碼片段。
相關(guān)文章:
Navicat使用教程:從單個應(yīng)用程序管理多個數(shù)據(jù)庫
Navicat使用教程:從單個工具連接到多個數(shù)據(jù)庫
Navicat使用教程:使用MySQL 8中的觸發(fā)器驗證數(shù)據(jù)
想要購買Navicat Premium正版授權(quán),或了解更多產(chǎn)品信息請點擊“咨詢在線客服”
掃描關(guān)注慧聚IT微信公眾號,及時獲取最新動態(tài)及最新資訊