# DBeaver常用配置和功能

## 目录
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
- [DBeaver常用配置和功能](#dbeaver%E5%B8%B8%E7%94%A8%E9%85%8D%E7%BD%AE%E5%92%8C%E5%8A%9F%E8%83%BD)
  - [前言](#%E5%89%8D%E8%A8%80)
  - [配置](#%E9%85%8D%E7%BD%AE)
  - [查询](#%E6%9F%A5%E8%AF%A2)
  - [跨表传输](#%E8%B7%A8%E8%A1%A8%E4%BC%A0%E8%BE%93)
  - [数据导出](#%E6%95%B0%E6%8D%AE%E5%AF%BC%E5%87%BA)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

## 前言

DBeaver是一个优秀的开源数据库访问工具。因为大部分学校都用的破解Navicat进行数据库教学。所以大部分入门程序员都对DBeaver没有使用经验。因此这里初略的讲解下一些常用使用。

## 配置

- 驱动拉取仓库配置

打开`菜单 -> 窗口 -> 首选项 -> 连接 -> 驱动 -> Maven`，在这加上阿里云的maven仓库，并上移至顶上。（这个配置生效需要重启DBeaver）

![DBAliyunMaven](../img/DBAliyunMaven.jpg)

## 查询

- 过滤使用

![DBeaverFilter1](../img/DBeaverFilter1.jpg)

如图，这里填写`where`查询条件部分的sql即可实现筛选。

- 自定义SQL编辑查询

`菜单 -> SQL编辑器 -> SQL 编辑器`即可打开SQL编辑器进行查询。

![DBeaverQuery](../img/DBeaverQuery.jpg)

## 跨表传输

有时候，我们需要进行将公共测试库的数据导到本地的数据库来做本地测试。这时候我们就需要将测试环境的数据拉到本地。

1. 右击需要输出的数据表，点击导出数据

![DBeaverExport1](../img/DBeaverExport1.jpg)
2. 选择需要输出类型为`数据库表`

![DBeaverExport2](../img/DBeaverExport2.jpg)
3. 点击`Choose...`按钮，选择输入的数据源

![DBeaverExport3](../img/DBeaverExport3.jpg)
4. 调整抽取设置

![DBeaverExport4](../img/DBeaverExport4.jpg)
5. 剩下的都继续按下一步完成即可

![DBeaverExport5](../img/DBeaverExport5.jpg)

## 数据导出

有时候，我们需要导出一些数据给客户或提供给自己进行导入接口测试。我们提供数据通常使用Excel文档。这时，我们就可以使用DBeaver导出CSV文档。

1. 右击需要导出的数据表，点击导出数据

![DBeaverExport1](../img/DBeaverExport1.jpg)
2. 选择需要输出类型为`CSV`

![DBeaverExport6](../img/DBeaverExport6.jpg)
3. 抽取设置和格式设置都是用默认设置
4. 在输出设置中，需要记住编码类型
![DBeaverExport7](../img/DBeaverExport7.jpg)
5. 确认后按继续完成CSV文件导出

Excel支持CSV文件的读取和excel文档的另存。但另存时，长数字会变成科学计数法。在另存后，科学计数法会变成字符串，导致内容丢失。因此我们不可以使用Excel进行另存。因此我写了一个[小工具](http://47.107.61.133:3000/lirh/csvconvert)进行转换。

> 除了常规的数据表导出，我们还可以将SQL编辑器的查询结果集导出。如![DBeaverExport8](../img/DBeaverExport8.jpg)
