Navicat使用指南
這里給小伙伴們羅列幾個(gè)我在使用DataGrip中一些不足的地方:
- 用戶體驗(yàn)并不十分友好,你需要花費(fèi)一些時(shí)間去學(xué)習(xí)如何使用它
- 和相似的工具比較,它運(yùn)行并不迅速,當(dāng)處理大容量數(shù)據(jù)庫的時(shí)候會比較緩慢,將耗費(fèi)GB等級的內(nèi)存
- 完全加載本地?cái)?shù)據(jù)庫數(shù)據(jù),如果你的數(shù)據(jù)庫數(shù)據(jù)較多,可能等它加載完成,你差不多要吃午飯了
- 導(dǎo)入導(dǎo)出功能有待完善
最后還是滾去用Navicat了
Navicat的功能非常多,這里為了讓小伙伴們一一掌握,分為多個(gè)篇章具體講述。
安裝Navicat
因?yàn)楣ぷ髟?,需要?jīng)常連接不同的數(shù)據(jù)庫,這里我安裝的是Navicat Premium版本。
安裝過程很簡單,只要你能看懂中文,不停的下一步,等待安裝完成即可。
連接不同數(shù)據(jù)庫
這里分別介紹Oracle,MySQL,SQL Server這三種數(shù)據(jù)庫的連接方法
連接Oracle
在連接Oracle之前我們需要先配置一下OCI文件,具體如下:
點(diǎn)開主菜單里的【工具】——【選項(xiàng)...】,在彈出的對話框中找的OCI選項(xiàng)
這里就要把你安裝的oracle的安裝目錄下的bin文件夾里面的oci.dll文件導(dǎo)入
E:\software\oracle\Oracle_win64\product\11.2.0\dbhome_1\BIN\oci.dll
以上是我的安裝目錄下的文件,大家根據(jù)自己的安裝目錄不同來導(dǎo)進(jìn)來
導(dǎo)進(jìn)來之后就重啟Navicat,重啟后會自動生效。
重啟Navicat后,點(diǎn)擊菜單欄的連接,選擇Oracle,如下圖:
在彈出的對話框中做如下配置,其中連接名可以隨意起,然后輸入你要連接的主機(jī)名或IP地址,最后輸入賬號密碼。
如果你是使用DBA角色登錄的,還需要點(diǎn)開高級選項(xiàng)卡,將角色選為DBA
配置完了以后,我們可以點(diǎn)擊連接測試
這樣Oracle的連接就配置好了。
連接MySQL和SQL Server
MySQL和SQL Server的連接相對比較簡單,只需要輸入主機(jī)名或IP地址,賬號密碼即可,具體如下圖:
配置好后,點(diǎn)擊連接測試,在彈出連接成功窗口就表示我們配置好了。
數(shù)據(jù)庫連接成功后,下面是各個(gè)功能的介紹,我們以SQL Server數(shù)據(jù)庫作為案例來介紹各個(gè)功能的使用。
創(chuàng)建數(shù)據(jù)庫
右鍵我們剛新建的數(shù)據(jù)庫連接——選擇【新建數(shù)據(jù)庫...】即可開始創(chuàng)建數(shù)據(jù)庫了。
可以根據(jù)你的要求來進(jìn)行配置,配置完以后,還可以在【SQL預(yù)覽】看到完整的SQL代碼:
數(shù)據(jù)傳輸
數(shù)據(jù)傳輸,顧名思義就是將數(shù)據(jù)從其他地方傳輸?shù)疆?dāng)前數(shù)據(jù)庫,例如我們將SQL_Road數(shù)據(jù)庫中的數(shù)據(jù)傳輸?shù)絼偛判陆ǖ腡est數(shù)據(jù)庫中。
右鍵剛才創(chuàng)建好的Test數(shù)據(jù)庫,在彈出的選項(xiàng)中選擇【數(shù)據(jù)傳輸...】,在彈出的窗口中我們配置源數(shù)據(jù)庫為【SQL_Road】,目標(biāo)數(shù)據(jù)庫配置為【Test】,這樣就可以將SQL_Road中的對象傳輸?shù)絋est了,支持傳輸?shù)膶ο蟀ǎ罕?,視圖,函數(shù)和存儲過程,具體如下圖:
點(diǎn)擊開始即可開始進(jìn)行數(shù)據(jù)傳輸,傳輸效率還是很快的,即使你的數(shù)據(jù)量很大,也可以使用該方法進(jìn)行數(shù)據(jù)傳輸,這里使用了不到2秒鐘就將整個(gè)數(shù)據(jù)庫對象遷移到新的數(shù)據(jù)庫中了。
此外如果你想導(dǎo)出整個(gè)數(shù)據(jù)庫中的對象到文件,也可以使用該方法,只需要將方式改為文件即可,如下圖:
如果你想自定義導(dǎo)出的內(nèi)容,可以點(diǎn)擊該窗口的【高級】選項(xiàng)進(jìn)行自定義配置,如下圖:
配置完成后,點(diǎn)擊開始,就會將你選擇的數(shù)據(jù)庫對象以腳本的形式導(dǎo)出到文件中。
但是數(shù)據(jù)傳輸?shù)轿募袀€(gè)不足的地方,就是會將數(shù)據(jù)記錄也會一并導(dǎo)出,而很多時(shí)候,我們其實(shí)只需要表結(jié)構(gòu),那么我們可以使用下面的這個(gè)功能。
轉(zhuǎn)儲SQL文件
雙擊打開數(shù)據(jù)庫后,我們右鍵架構(gòu)名dbo,在彈出的選項(xiàng)中選擇【轉(zhuǎn)儲SQL文件...】,這里還有兩個(gè)子選項(xiàng):【結(jié)構(gòu)和數(shù)據(jù)...】和【僅結(jié)構(gòu)...】,如下圖:
他們的區(qū)別就是一個(gè)有數(shù)據(jù)記錄,一個(gè)沒有數(shù)據(jù)記錄,如果你只要數(shù)據(jù)結(jié)構(gòu)可以只選擇【僅結(jié)構(gòu)...】,這樣就可以大大節(jié)省導(dǎo)出時(shí)間了。
打印模式/數(shù)據(jù)字典生成
做數(shù)據(jù)庫倉庫往往面對的不是幾張表,往往是成百上千張數(shù)據(jù)表,該怎么維護(hù)對DBA是個(gè)非常頭疼的事,如果有個(gè)數(shù)據(jù)表結(jié)構(gòu)或數(shù)據(jù)字典之類的就非常完美了。
打印模式可以完美的生成所有表的數(shù)據(jù)表結(jié)構(gòu)的。這里我們選擇表數(shù)量較多的數(shù)據(jù)庫ReportServer。右鍵dbo后,選擇【打印模式...】,如下圖:
可以看到右側(cè)窗口里面出現(xiàn)了所有數(shù)據(jù)表的表結(jié)構(gòu),如下圖:
足足有10頁之多,我們點(diǎn)擊左上方的【打印】,將表結(jié)構(gòu)打印成PDF文件,就可以得到一份非常完成的數(shù)據(jù)字典了,如下圖:
內(nèi)容中主鍵和索引也有仔細(xì)的標(biāo)注出來,其中P代表主鍵,下面的index表示索引。
這個(gè)功能絕對是一個(gè)神器!
在模式中查找
這個(gè)功能主要用來查找數(shù)據(jù)或結(jié)果,當(dāng)你需要從當(dāng)前數(shù)據(jù)庫中查找數(shù)據(jù)記錄或?qū)ο笾邪承┳址麜r(shí),可以使用該功能,具體如下:
在彈出的對話框中,我們查找pre的結(jié)構(gòu),就可以將當(dāng)前數(shù)據(jù)庫符合要求的的所有對象都查找出來,如下圖:
逆向模式到模型
這又是一個(gè)神仙技能,誰用誰知道,右鍵dbo在彈出的選項(xiàng)中選擇【逆向模式到模型..】,如下圖:
它可以將當(dāng)前數(shù)據(jù)庫中創(chuàng)建的所有表,以E-R圖的模型清楚的告訴你每個(gè)表之間的關(guān)聯(lián)關(guān)系,包括主外鍵,表結(jié)構(gòu),關(guān)聯(lián)關(guān)系等,如下圖:
你以為就這?
還支持模型轉(zhuǎn)換,模型導(dǎo)出,說白了就是你可以將該模型轉(zhuǎn)換成其他數(shù)據(jù)庫的模型,從SQL Server轉(zhuǎn)換成MySQL,Oracle,Postgresql都可以。點(diǎn)擊左上角的三短橫,選擇【文件】——【模型轉(zhuǎn)換】,如下圖:
在彈出的對話框中選擇你要轉(zhuǎn)換的類型,比如我們想轉(zhuǎn)換成MySQL 5.6的,如下圖:
點(diǎn)擊確定后,即可將當(dāng)前的SQL Server模型立馬轉(zhuǎn)換成MySQL 5.6。給大家看下對比效果:
SQL Server模型
MySQL模型
轉(zhuǎn)換成功后可以直接將轉(zhuǎn)換后的模型導(dǎo)出成對應(yīng)的SQL。
點(diǎn)擊【工具】——【導(dǎo)出SQL...】,如下圖:
選擇導(dǎo)出位置,點(diǎn)確定即可,導(dǎo)出的SQL文件里面就是MySQL的建庫代碼了。
能導(dǎo)出肯定就可以打印,同樣如果需要將模型文件保存,也可以導(dǎo)出為PDF,PNG,SVG等格式,但是建議打印成PNG圖片格式,因?yàn)镻DF會分頁,導(dǎo)致模型不完整。
打印出來的圖片如下:
當(dāng)然你可隨意放大縮小查看詳細(xì)信息。