日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql多个数据库查询_如何跨多个数据库查询

發(fā)布時間:2023/12/10 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql多个数据库查询_如何跨多个数据库查询 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2019 年 6 月 4 日,由 Robert Gravelle 撰寫

隨著主從(Master-Slave)拓撲和數(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ù)庫。它亦與 Amazon RDS、Amazon Aurora、Amazon Redshift、Microsoft Azure、Oracle Cloud、MongoDB Atlas、阿里云、騰訊云和華為云等云數(shù)據(jù)庫兼容。

在今天的文章中,我們將學習如何構建和運行 SELECT 查詢。該查詢將使用 Navicat Premium 的 SQL 編輯器從多個數(shù)據(jù)庫中獲取數(shù)據(jù)。

設置環(huán)境

我們需要幾個表,每個表都在自己的數(shù)據(jù)庫中。碰巧的是,我有一些 Sakila 示例數(shù)據(jù)庫的副本。我已創(chuàng)建了 actors 表的副本并將其內容在中間拆分為兩組,以 A 到 L 開頭的名稱在第一個數(shù)據(jù)庫中,以 M 到 Z 開頭的名稱在另一個數(shù)據(jù)庫中。我們將會將兩組名稱組合成一個結果集。以下是 Navicat 對象窗格中的布局:

多個數(shù)據(jù)庫 SELECT 語法

正如你可以在 SELECT 語句中將默認數(shù)據(jù)庫中的表引用為 tbl_name 一樣,你也可以在表名前加上數(shù)據(jù)庫名用于顯式指定數(shù)據(jù)庫,例如:db_name.tbl_name。數(shù)據(jù)庫前綴也可用于在一個SELECT語句的表列表中組合不同數(shù)據(jù)庫,如 FROM 關鍵字后面指定的那樣。因此,以下是有效的SQL:

SELECT database1.table1.field1,

database2.table1.field1

FROM database1.table1,

database.table1

WHERE database1.table1.age > 12;

使用 JOIN

你可以像往常一樣聯(lián)接(JOIN)表。只需通過在表前添加數(shù)據(jù)庫名稱來確保完全限定表名稱:

SELECT *

FROM database1.table1 T1

JOIN database2.table1 AS T2 ON T1.id = T2.id

如果您不需要用公共字段聯(lián)接(JOIN)表,則可以使用 UNION 運算符組合多個 SELECT 語句:

SELECT *

FROM database1.table1 T1

WHERE T1.age > 12

UNION

SELECT *

FROM database2.table1 T2

WHERE T2.age > 12;

現(xiàn)在我們知道如何一次查詢兩個表,讓我們在 actors 表上嘗試類似的查詢。 我們將選擇(SELECT) ID 在特定范圍之間的演員:

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 表中的演員的結果,而有些演員是來自 M-Z 表:

總結

在本篇文章中,我們學習了如何使用 Navicat Premium 構建和運行 SELECT 查詢,從多個數(shù)據(jù)庫中獲取數(shù)據(jù)。Navicat 的自動完成代碼和自定義的代碼段功能透過關鍵字建議和減少重復輸入相同的代碼,令編碼更加快速。你可以免費試用 14 天進行評估。

總結

以上是生活随笔為你收集整理的mysql多个数据库查询_如何跨多个数据库查询的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。