作為一名開發(fā)者,免不了要和數(shù)據(jù)庫打交道,于是我們就需要一款順手的數(shù)據(jù)庫管理工具。很長一段時(shí)間里,Navicat 都是我的首選,但最近更換了一臺新電腦,之前的綠色安裝包找不到了。
于是就琢磨著,找一款免費(fèi)的,功能和 Navicat 有一拼的數(shù)據(jù)庫管理工具來替代。好朋友 macrozheng 給我推薦了 DBeaver,試用完后體驗(yàn)真心不錯(cuò),于是就來給大家安利一波。
一、關(guān)于 DBeaver
DBeaver 是一個(gè)跨平臺的數(shù)據(jù)庫管理工具,支持 Windows、Linux 和 macOS。它有兩個(gè)版本,企業(yè)版和社區(qū)版,對于個(gè)人開發(fā)者來說,社區(qū)版的功能已經(jīng)足夠強(qiáng)大。
DBeaver 是由 Java 編寫的,默認(rèn)使用 JDK 11 進(jìn)行編譯。社區(qū)版基于 Apache-2.0 License 在 GitHub 上開源,目前已獲得 24k+ 的星標(biāo)。

DBeaver 支持幾乎所有主流的數(shù)據(jù)庫,包括關(guān)系型數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫。

二、安裝 DBeaver
可以通過 DBeaver 官方下載安裝包,也可以通過 GitHub 下載 release 版本。
官方下載地址:https://dbeaver.io/download/

根據(jù)自己電腦的操作系統(tǒng)下載對應(yīng)的安裝包,完整安裝后,第一步要做的是配置 Maven 鏡像,否則在后續(xù)下載數(shù)據(jù)庫驅(qū)動的時(shí)候會非常的慢。

因?yàn)?DBeaver 是基于 Maven 構(gòu)建的,數(shù)據(jù)庫驅(qū)動也就是鏈接數(shù)據(jù)庫的 JDBC 驅(qū)動是通過 Maven 倉庫下載的。選擇「首選項(xiàng)」→「Maven」,添加阿里云鏡像地址:
和配置 Maven 鏡像一樣,如下圖所示。

配置完成后,記得把阿里云鏡像倉庫置頂。

三、管理數(shù)據(jù)源
像使用 Navicat 一樣,我們需要先建立連接,這里就以 MySQL 為例。點(diǎn)擊「連接」小圖標(biāo),選擇數(shù)據(jù)庫。

點(diǎn)擊下一步,這時(shí)候需要填寫數(shù)據(jù)庫連接信息。

點(diǎn)擊「測試鏈接」,如果使用默認(rèn)的 Maven 倉庫時(shí),下載驅(qū)動會非常慢,如下圖所示,還容易失敗「踩過的坑就不要再踩了」。

如果你前面按照我說的配置了阿里云的 Maven 鏡像,程序就不一樣了,點(diǎn)了「測試鏈接」,瞬間會彈出「連接已成功」的提示框。

鏈接成功后,就可以看到數(shù)據(jù)庫中的表啊、視圖啊、索引啊等等。

四、管理表
數(shù)據(jù)庫連接成功后,最重要的還是操作表。
01、查看表
選擇一張表,雙擊后就可以看到表的屬性了,可以查看表的列、約束(主鍵)、外鍵、索引等等信息。

點(diǎn)擊「DDL(Data Definition Language,數(shù)據(jù)定義語言)」可以看到詳細(xì)的建表語句。

點(diǎn)擊「數(shù)據(jù)」可以查看表的數(shù)據(jù),底部有「新增」、「修改」、「刪除」等行操作按鈕。

可以在頂部的過濾框中填寫篩選條件,然后直接查詢結(jié)果。

如果不想顯示某一列的話,可以直接點(diǎn)擊「自定義結(jié)果集」圖表,將某個(gè)字段的狀態(tài)設(shè)置為不可見即可。

02、新增表
在左側(cè)選擇「表」,然后右鍵選擇「新建表」即可建表id。

之后在右側(cè)列的區(qū)域右鍵,選擇「新建列」即可添加字段。

比如說我們新建一個(gè)主鍵 ID,如下圖所示。

在 DBeaver 中,[v] 表示真,[] 表示否。緊接著在「約束」里選擇 ID 將其設(shè)置為主鍵。

最后點(diǎn)擊保存,會彈出一個(gè)建表語句的預(yù)覽框,點(diǎn)擊「執(zhí)行」即可完成表的創(chuàng)建。

五、執(zhí)行 SQL
右鍵數(shù)據(jù)庫表,選擇右鍵菜單中的「SQL 編輯器」可以打開 SQL 編輯面板。

然后編輯 SQL 語句,點(diǎn)擊運(yùn)行的小圖標(biāo)就可以查詢數(shù)據(jù)了。這個(gè)過程會有語法提示,非常 nice。

DBeaver 有一個(gè)很亮眼的操作就是,可以直接選中一條結(jié)果集,然后右鍵生成 SQL。

比如說 insert 語句,這樣再插入一條重復(fù)性內(nèi)容的時(shí)候就非常方便了。

六、外觀配置
可以在首選項(xiàng)里對外觀進(jìn)行設(shè)置,比如說把主題修改為暗黑色。

然后界面就變成了暗黑系。

還可以設(shè)置字體大小等。

從整體的風(fēng)格來看,DBeaver 和 Eclipse 有些類似,事實(shí)上也的確如此,DBeaver 是基于 Eclipse 平臺構(gòu)建的。

七、總結(jié)
總體來說,DBeaver是一款非常優(yōu)秀的開源數(shù)據(jù)庫管理工具了,功能很全面,日常的開發(fā)基本上是夠用了。對比收費(fèi)的 Navicat 和 DataGrip,可以說非常良心了。大家如果遇到收費(fèi)版不能使用的時(shí)候,可以來體驗(yàn)一下社區(qū)版 DBeaver。
本篇已收錄至 GitHub 上星標(biāo) 1.5k+ star 的開源專欄《Java 程序員進(jìn)階之路》,據(jù)說每一個(gè)優(yōu)秀的 Java 程序員都喜歡她,風(fēng)趣幽默、通俗易懂。內(nèi)容包括 Java 基礎(chǔ)、Java 并發(fā)編程、Java 虛擬機(jī)、Java 企業(yè)級開發(fā)、Java 面試等核心知識點(diǎn)。學(xué) Java,就認(rèn)準(zhǔn) Java 程序員進(jìn)階之路??。
https://github.com/itwanger/toBeBetterJavaer
star 了這個(gè)倉庫就等于你擁有了成為了一名優(yōu)秀 Java 工程師的潛力。也可以戳下面的鏈接跳轉(zhuǎn)到《Java 程序員進(jìn)階之路》的官網(wǎng)網(wǎng)址,開始愉快的學(xué)習(xí)之旅吧。

沒有什么使我停留——除了目的,縱然岸旁有玫瑰、有綠蔭、有寧靜的港灣,我是不系之舟。