# 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常用配置和功能)
  - [目录](#目录)
  - [前言](#前言)
  - [下载](#下载)
  - [配置](#配置)
  - [查询](#查询)
  - [跨表传输](#跨表传输)
  - [数据导出](#数据导出)

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

## 前言

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

## 下载

官方下载地址：[https://dbeaver.io/download/](https://dbeaver.io/download/)  
公司缓存（不定期更新）：[http://chinaweal.com.cn:8090/navigation/dbeaver.exe](http://chinaweal.com.cn:8090/navigation/dbeaver.exe)

## 配置

- 驱动拉取仓库配置

打开`菜单 -> 窗口 -> 首选项 -> 连接 -> 驱动 -> 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)
