如果您曾經(jīng)嘗試在大型數(shù)據(jù)庫中定位特定列,那么我相信您會同意這可能是一項艱巨的任務(wù)。您可以從information_schema模式中收集有關(guān)DB結(jié)構(gòu)的許多信息。它具有所有表和表中所有字段的列表。然后,您可以使用從該表獲得的信息來運行查詢。涉及的特定表是SCHEMATA、TABLES和COLUMNS。有一些外鍵,使您可以準(zhǔn)確地構(gòu)建如何在模式中創(chuàng)建表。
目前創(chuàng)新互聯(lián)已為上千多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管運營、企業(yè)網(wǎng)站設(shè)計、于田網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
但是,執(zhí)行數(shù)據(jù)庫范圍內(nèi)搜索的更簡單方法是使用Navicat Premium。Navicat在Non-Essentials Edition中可用,提供了“在數(shù)據(jù)庫/架構(gòu)中查找”功能,用于在數(shù)據(jù)庫和/或架構(gòu)中的表/視圖或?qū)ο蠼Y(jié)構(gòu)中查找數(shù)據(jù)。在今天的文章中,我們將學(xué)習(xí)如何使用它。
Navicat Premium是一個數(shù)據(jù)庫開發(fā)工具,可讓您從單個應(yīng)用程序同時連接到MySQL,MariaDB,MongoDB,SQL Server,Oracle,PostgreSQL和SQLite數(shù)據(jù)庫。與Amazon RDS,Amazon Aurora,Amazon Redshift,Microsoft Azure,Oracle Cloud,Google Cloud和MongoDB Atlas等云數(shù)據(jù)庫兼容。您可以快速輕松地構(gòu)建,管理和維護數(shù)據(jù)庫。
定位列
我們首先在數(shù)據(jù)庫中查找一列。我們想在Sakila示例數(shù)據(jù)庫中找到“release_year”列。這是我們的處理方法:
打開在數(shù)據(jù)庫/架構(gòu)中查找窗口;從菜單欄中選擇工具->在數(shù)據(jù)庫/架構(gòu)中查找。
選擇目標(biāo)連接、數(shù)據(jù)庫或架構(gòu)。
在“查找內(nèi)容”文本框中輸入搜索字符串。
在“查找范圍”下拉列表中選擇“結(jié)構(gòu)”項。另一個選擇當(dāng)然是“數(shù)據(jù)”。
選擇“搜索模式”。選項包括包含、全字、前綴或正則表達式。
選中“不區(qū)分大小寫”框以禁用區(qū)分大小寫的搜索。
由于我們在“查找范圍”下拉列表中選擇了“結(jié)構(gòu)”,因此我們現(xiàn)在可以選擇搜索不同的對象,包括表、視圖、函數(shù)、查詢或事件。
填寫或選中所有字段后,表單應(yīng)如下所示:
現(xiàn)在,繼續(xù)并單擊“查找”按鈕以獲取結(jié)果。在這種情況下,Navicat將一個表中的“release_year”列匹配:
您可以在“查找結(jié)果”列表中雙擊一個對象以查看記錄或結(jié)構(gòu)。它將突出顯示:
搜索數(shù)據(jù)
試圖在沒有搜索工具的情況下在整個數(shù)據(jù)庫中查找給定值幾乎是不值得的。在Navicat中,我們需要做的就是與上述相同的過程,除了現(xiàn)在我們將從“查找”下拉菜單中選擇“數(shù)據(jù)”。
這是從“搜索模式”下拉列表中選擇“前綴”的“JOHN”的“查找內(nèi)容”值的結(jié)果:
如您所見,這種更一般的搜索導(dǎo)致更多匹配。
再次雙擊“查找結(jié)果”列表中的對象,將在新選項卡中顯示記錄:
注意Navicat生成的查詢以獲取所需結(jié)果。
結(jié)論
Navicat的“在數(shù)據(jù)庫/架構(gòu)中查找”工具極大地方便了在整個數(shù)據(jù)庫或架構(gòu)中查找數(shù)據(jù)或?qū)ο蠼Y(jié)構(gòu)。與information_schema模式的替代方案相比,實際上沒有競爭。