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