DBeaver介紹
DBeaver 是一個基於 Java 開發,免費開源的通用數據庫管理和開發工具,使用非常友好的 ASL 協議。可以通過官方網站或者 Github 進行下載。
由於 DBeaver 基於 Java 開發,可以運行在各種操作系統上,包括:Windows、Linux、macOS 等。DBeaver 采用 Eclipse 框架開發,支持插件擴展,並且提供了許多數據庫管理工具:ER 圖、數據導入/導出、數據庫比較、模擬數據生成等。
DBeaver 通過 JDBC 連接到數據庫,可以支持幾乎所有的數據庫產品,包括:MySQL、PostgreSQL、MariaDB、SQLite、Oracle、Db2、SQL Server、Sybase、MS Access、Teradata、Firebird、Derby 等等。商業版本更是可以支持各種 NoSQL 和大數據平台:MongoDB、InfluxDB、Apache Cassandra、Redis、Apache Hive 等。
安裝
注意事項: 因為我本地的只有jdk8,而該軟件需要自帶的jdk14環境以上才能運行。所以安裝時 默認圖中的兩個勾都打上 , 不要取消。

快捷鍵設置
高頻快捷鍵
ctrl + enter 執行sql
ctrl +\ 執行sql,保留之前窗口結果
ctrl + shift + ↑ 向上復制一行
ctrl + shift + ↓ 向下復制一行
ctrl + d 刪除當前行
ctrl + shift + F 對當前范圍內的sql語句進行格式化
ctrl + / 行注釋
ctrl + shift+/ 塊注釋
ctrl + f 查找、替換
tab 在查詢結果頁的某一結果行按tab,可以行轉列展示,非常方便
alt + shift + a 列編輯
低頻快捷鍵
ctrl + shift + E 執行計划
ctrl + shift + U 將選定的sql轉換成大寫字母
ctrl + shift + L 將選定的sql轉換成小寫字母
alt+↑ 向上選定一條sql語句
alt+↓ 向下選定一條sql語句
ctrl + space sql提示(並無效果)
其它快捷鍵
放大sql編輯器的字體:ctrl + shift + +
縮小sql編輯器的字體:ctrl + shift + -
高級復制可以直接粘貼到多行多列中
右鍵某個單元格作為左上角第一行第一列 | Advance Paste | Insert Multiple Row
注意事項
在執行sql過程中不要出現空白行, 不然會將空白行后的內容忽略掉.
關鍵字大寫
解決方式: 窗口 | Editors | SQL編輯器 | SQL枚式化 | 關鍵字大小寫 | 選中 Upper

DBeaver鏈接數據庫,數據庫表顯示不全
這是因為默認"不會顯示指定數據庫之外的其它數據庫" ,
解決方式: 選中指定數據庫配置 | 右鍵編輯 (或按F4) | 連接設置 | PostgreSQL | 打勾 ✔ 顯示非缺省的數據庫

萬有鏈接
長按Ctrl 並將指針移到SQL中的相關表 可直接跳轉到表結構中
配置使用Ctrl+R和Ctrl+T執行當前光標所在SQL語句
第一步: 刪除"放棄變更"綁定的快捷鍵Ctrl + R

第二步:修改"執行SQL語句"快捷鍵成Ctrl+R

第二步:修改"在新標簽頁中執行SQL"快捷鍵成Ctrl+T

快速定位相關表

添加或修改表結構

模板快捷功能的使用
自帶模板有sf , sob , swhere 等 , 比如輸入sf后,按table可快速生成模板查詢語句
-- 在sql編輯器中輸入sf之后再按table,會直接生成以下查詢語句
select * from student;

高級復制各種格式
在查詢結果集中選中某些行或格,然后 右鍵 | 高級復制 | 可以直接轉換成 excel格式、 JSON格式、SQL格式,XML格式 等等

在DBeaver中高效地管理sql文件
按下方步驟操作之后, 每將直接雙擊打開sql文件就可以直接連接對應的數據庫, 而不必再每次都手動選擇目標數據庫.

查看查詢管理器中保留的最近執行的歷史記錄

dbeaver導出數據變成討厭的科學計數
在導出的Format settings | Exporter settings | Delimiter | 設置 \t, 如下圖↓ , 注意 是 制表符+逗號

連接oracle可能遇到的情況
在使用oracle的自動下載jar包時可能遇到如下異常,代表jar包不適配當前oracle,需要手動指定
Can't create driver instance
Error creating driver 'Oracle' instance.
Most likely required jar files are missing.
You should configure jars in driver settings.
Reason: can't load driver class 'oracle.jdbc.OracleDriver'
Error creating driver 'Oracle' instance.
Most likely required jar files are missing.
You should configure jars in driver settings.
Reason: can't load driver class 'oracle.jdbc.OracleDriver'
oracle.jdbc.OracleDriver
oracle.jdbc.OracleDriver
解決方式: 手工添加對應版本的ojdbcX.jar包以適配對應的oracle服務

我的本地ojdbc8.jar位置C:\NewPrograms\Navicat Premium 15\instantclient_19_11

查看當前數據庫的健康狀態
選中某個數據庫 | 菜單 選擇數據庫 | Open Dashboard (或直接按快捷鍵Ctrl + Shift + Alt + B)

或者直接按面板中的Dashboard圖標

導出時使用數據庫默認日期格式和數字
在dbeaver 21.3.3 中,導出格式可以設置了↓
右鍵表 | 導出數據 | 編輯格式 | 管理配置 | 使用原始日期/時間格式 | 打勾
右鍵表 | 導出數據 | 編輯格式 | 管理配置 | 使用原始日期/時間格式 | 禁用數字格式化

將數據庫改成生產者模式
改成生產者模式后 , 選中的數據庫會橙色高亮顯示 , 且所有增刪改語句執行都默認都會暫存 ,並不會直接執行, 需要主動按Ctrl + Alt + Shift + K 手動提交才行. 或者在關閉窗口的時候選 "是" 提交當前暫存的事務.


dbeaver靜置一段時間經常斷開
因為dbeaver默認不保持長久連接 , 需要手動配置每隔N秒與數據庫保持連接 , 設置越短越不容易斷開連接, 但是對服務器壓力越大, 建議配置60到120之間即可
換言之: 【編輯連接】【初始化】將【連接保持】改成120s,這樣數據庫就不會自己斷開了

我的dbeaver腳本文件位置
C:\Users\King\AppData\Roaming\DBeaverData\workspace6\General\Scripts
20220704 205100 花了1個半小時 dbeaver抽風打不開 , 最終先備份好DBeaverData里面的腳本Scripts文件夾后, 刪除C:\Users\hp\AppData\Roaming\DBeaverData目錄及里面所有文件!成功打開 .
如有必要則將以前的Scripts還原到相應目錄即可
