dbeaver book

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链接数据库,数据库表显示不全

这是因为默认"不会显示指定数据库之外的其它数据库" ,

解决方式:

 

21版本dbeaver   数据库 选中指定数据库配置 | 右键编辑 (或按F4) | 连接设置 | PostgreSQL | 打勾 ✔ 显示非缺省的数据库

 

24版本dbeaver   数据库 选中指定数据库配置 | 打勾 Show all databases (显示所有数据库)

 

万有链接

长按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 中,导出格式可以设置了↓

右键表 | 导出数据 | 编辑格式 | 管理配置 | 使用原始日期/时间格式 | 打勾

右键表 | 导出数据 | 编辑格式 | 管理配置 | 使用原始日期/时间格式 | 禁用数字格式化

 

 

导出时发生无法导出异常

原来是我把${timestamp} 的格式 Timestamp pattern设置成了 yyyy-MM-dd HH:mm:ss , 所以导出时报了一个没有显示时分秒的异常 Illegal char <:> at index 26: bobo_student_2024-04-17 

 

解决方式1 删除${timestamp} 变动即可

 

解决方式2 调整 Timestamp pattern 格式

调整 Timestamp pattern 格式 ,去掉 : , 改成 yyyy-MM-dd HH-mm-ss   

 

将数据库改成生产者模式

改成生产者模式后 , 选中的数据库会橙色高亮显示 , 且所有增删改语句执行都默认都会暂存 ,并不会直接执行, 需要主动按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还原到相应目录即可

posted @ 2021-10-25 18:26  苦涩泪滴  阅读(1493)  评论(0编辑  收藏  举报