dbeaver是一款数据库工具,比navicat好用很多。
安装
可以去官网下载。
或者直接从百度网盘下载安装版。
链接: https://pan.baidu.com/s/1WgrNHm0GVAUrTYkMLVGSqA
提取码: fhte
个性化设置
项目和导航
建议创建的时候在项目视图里面创建,选择创建dbeaver项目即可。
脚本通过文件的形式拷贝到script目录下,再批量建立关联。
项目栏展开不太方便,双击会打开属性栏,怎么办呢?
建议用活动项目来标记,点下右上角的活动项目,选一个,那么这个项目的连接就会展示出来了。 这样算是兼顾了导航和项目。
连接名称不正确及调整方法
1、创建连接的时候就可以设置,只不过不太显眼,在中下方的连接详情,点进去就可以设置连接名称。 # 默认是和serviceName或sid一致
2、连接已创建完毕,点编辑 | 常规 | 连接名称,这里修改即可。
导出
关于导出,最简单、最好用的肯定是,导出项目。其他什么文件夹,归档文件等,完全不用理,既不好理解,也不好用。
项目导出可以多选,导入的时候也可以有选择的导入,非常方便。
步骤:
文件 | 导出 | dbeaver(注:这里千万别选常规) | 项目 下一步 | 勾选要勾选的项目、导出驱动库勾不勾都可以 | 点 完成。
注:这个导出虽然简单,很容易用错,因为默认导出选项并不是这个,很多人先入为主,都会选第一个常规,那么导的时候容易出问题。
sql编辑器 空文件不删除、创建文件夹
首选项 | editors | sql编辑器 | scripts,
编辑器关闭时删除空的脚本文件 选 “do not delete”。
勾选:
为每个连接创建脚本文件夹
创建脚本文件夹
sql的筛选
利用的原理:sql编辑器上方的文本框支持筛选。
项目管理器的scripts模块用来管理sql | 按f3 | 在弹出的sql编辑器中选择数据源 | sql编辑器上方的文本框支持筛选。
表名的筛选
数据库导航上方的文本框支持筛选
delete删除sql的时候删不掉
仔细看了下,删除确认弹框默认是 “否”,不是 “是”
项目窗口关闭了怎么办
窗口 | 项目。 这样就会重新展示了。
数据库导航、项目、项目浏览器等都在这里,另外,其他的窗口也在这里。
查看快捷键
1、菜单上会有对应的快捷键。
2、帮助 | 键辅助 即可查看所有。 快捷键是 ctrl+shift+l
查看结构方面比navicat快不知道多少倍
查看表(例如字段等信息)
1、双击表
2、表上右键 查看表。 快捷键 f4
事务
事务默认自动提交
当然,也可以手动设置:
窗口 | 首选项 | 连接 | transactions,然后设置即可。
sql编辑器
打开方式:
1、菜单 | sql编辑器 | sql编辑器。
2、功能栏 | sql编辑器。
快捷键都是f3。
执行sql
1、选中sql,右键 执行。 快捷键 ctrl+enter。
执行sql表达式 这个也挺有用,算个数等等都很方便。 快捷键 ctrl+shift+’
sql编辑器设置参数
当然是可以的。
因为设置参数的场景有好几种,例如存储过程,例如sql编辑器,所以一定要说清是哪种场景。
这里是sql编辑器场景。
-- set 后面不要带分号和注释符号,因为也会被set进去
@set user_account ='lishimin'
-- 这两种写法都是对的,也就是说sql中引用变量有不只一种方式。
SELECT * FROM moirai_user WHERE user_account=:user_account;
SELECT * FROM moirai_user WHERE user_account=${user_account};
设置参数有两种方法。
1、脚本中设置。
2、sql编辑器左边的那个show sql variables,在里面可以设置环境参数。
参数是对某个sql编辑器有效还是整个session有效?
实测,在上一个sql编辑器设置了参数后,新打开一个sql编辑器,仍然有效。
sql搜索/筛选?
当然可以了。 sql编辑器界面,上面有一行搜索栏。
搜索
这个就比较强了,支持3种。
搜索文件
数据库元数据
数据库全文本
sql表达式是什么
1=1
1+1
er图生成
先科普下概念,er图(entity relationship)图,实体关系图。
一般用于表示数据库表之前的关系,或者不是数据库的也可以,例如业务关系图。
广义的说,只要是表示实体关系都可以叫做er图。
dbeaver也有er图生成功能,也可以选表,但是没法选字段。
和其他工具一样,都挺难用的。
还不如拿出字段直接画的快,所以干脆直接自己画。
er图单表
双击表,有3个tab页:属性、数据、er图,点这个er图就可以。
er图多表
按住ctrl,逐个点选。或者先点选一个,按住shift,再点选一个,区间内的都会被选中。
然后右键,点 创建er图即可,如果表很多,可能稍微慢点。
单张表直接截图即可。
整个库点最下面的导出为外部文件,如.png格式等,就实现了导出。
中文字体 注释字体
注释是灰色,不容易看清楚
中文字体太小,看着费劲
其他
sql语句卡死了记得换个脚本文件
如果还在相同的脚本文件里,很可能还是报超时。
是这样的,dbeaver的每个脚本文件相当于一个session,如果卡死了,这个session就有问题了,所以要换个。
报错 Reason: can’t load driver class ‘oracle.jdbc.OracleDriver’ Error creating driver ‘Oracle’ instance.
这是因为没有驱动。
连接设置界面 | 编辑驱动设置 | 库 | 添加文件 ,从本地找到oracle.jar,然后按提示一步步操作即可。
新建文件夹关联的sql运行时为什么找不到数据库(mysql)
为什么有的项目无法设置为活动项目
dbeaver如何编辑clob
如果是clob有点太大,直接复制不进去,提示超过长度了。
可以在查出的数据 右键 | 编辑 | 编辑单元格,修改后再保存就可以了。
从堡垒机跳转过来为什么能访问
从堡垒机跳转过来的登录是另外一种方式。
jdbc:oracle:thin:@192.168.0.1:1521/ddd
# 直连地址
jdbc:oracle:thin:@100.111.0.1:61521:c74437fcc53241bcaa73a31353db8d46
# 跳板机地址
对比下就清楚了:
堡垒机相当于代理了个地址,端口是61521
(1521前面多了个6),然后id是堡垒机转发的id。
相当于中转了一层,不直接访问数据库,而是访问中转机器:端口:代理id。
一般来说,中转机器、端口都是固定的,代理id是连接后生成,关键这东西f12看不到。
只能到本地dbeaver看连接id了。
如果数据库是serviceName这里也是serviceName。
如果数据库是sid这里也是sid。
账号和密码不变。
但是还有个问题? 代理的地址可以访问,但是把代理的id配置到新连接上就访问不了,参数都是一样的,不知道为什么?(待办)
excel数据如何导出数据库
场景,excel表格已经弄好了,导入就太费劲了。
实际不用如此,如果是dbvisual(不是dbeaver)数据库,点+号,复制excel表格数据即可(前提是excel选中的列和表列相同)。
数据结构比对
支持库级别的数据比对。
按住ctrl选中两个库,右键 compare object,选择保存到文件,就可以开始比对了,省时省力。
导出的是html格式的,弄的比较详细,但是贴到excel效果一般,如果是整个库,内容比较多。
如果单表,筛选不同字段还是可以的,如果整库还是有点太大。
如果右键 检查,查看element元素内容,那么容易卡死浏览器。