数据提取器
启用 数据库工具和 SQL 插件
此功能依赖于 数据库工具和 SQL 插件,该插件在 GoLand 中默认捆绑并启用。 如果相关功能不可用,请确保未禁用该插件。
按下 Ctrl+Alt+S 打开设置,然后选择 。
打开 已安装 选项卡,找到 数据库工具和 SQL 插件,并勾选插件名称旁边的复选框。
数据提取器 用于设置在编辑器中复制或查看数据的规则(在 文本 编辑器视图模式下)。 您可以从 数据提取程序 列表中选择一个默认提取器,该列表位于 导出数据 图标( )附近,配置现有提取器,或使用 Groovy 或 JavaScript 创建自定义提取器。

最后选择的提取器将成为新打开编辑器标签页的默认提取器。 对于 MongoDB,默认提取器始终为 JSON。
在以下视频中,使用 CSV 数据提取器复制数据,并在 文本 编辑器视图模式下使用 SQL 更新 和 管道分隔 数据提取器查看数据。
使用数据提取器,您可以将数据库数据导出为 SQL 语句及多种格式。 将数据导出为文件时,每个表或视图会创建一个单独的文件。 有关导出的更多信息,请参阅 导出部分。
支持的文件格式
可用脚本和支持的文件格式列表如下:
预定义脚本。 使用它们可将数据导出为一组
INSERT或UPDATE语句、 TSV 和 CSV 文件、 Excel XLSX 文件、 Markdown 、HTML 表格和 JSON 格式。内置
脚本
文件格式
SQL Inserts
.sql
SQL Updates
Where 子句
CSV
脚本
文件格式
CSV
.csv
TSV
.tsv
竖线分隔
.txt
使用 CSV 格式配置 创建基于 CSV 或任何 DSV 格式的自定义格式。
脚本化
脚本
文件格式
CSV
.csv
TSV
.tsv
Excel
.xlsx 、 .xls
HTML(groovy)
.html
HTML(js)
JSON
.json
Markdown
.md
单行
.sql
SQL-Insert-Multirow
SQL-Insert-Statements
格式化
.txt
XML
.xml
自定义数据提取器。使用 Groovy 或 JavaScript 和提供的 API 创建。
为分隔符分隔值配置提取器
您可以扩展默认功能,并基于 CSV 或任何 DSV 格式创建自定义格式。 在其设置中,您可以设置行和表头的分隔符、定义 NULL 值的文本、指定引号、为分隔符分隔值的格式创建新提取器。
从数据提取器列表中选择 配置 CSV 格式。
在 CSV 格式 对话框中,点击 添加格式 图标
。
指定新格式的名称(例如
Confluence Wiki 标记)。定义格式设置:设置行和表头的分隔符,定义 NULL 值的文本,指定引号。 点击 确定。
创建格式后,您可以在 导出数据 图标(
)旁的下拉列表中选择它。
有关 CSV 格式 对话框的更多信息,请参阅 参考。
添加自定义提取器
您可以创建一个使用 Groovy 或 JavaScript 编写的自定义提取器。
在 GitHub 仓库 中查找用于脚本化扩展开发的预配置项目。
在 项目 工具窗口中,导航至 临时文件和控制台| 扩展|数据库工具和 SQL|data|extractors 。
右键单击 extractors 节点并选择 。
键入文件名(例如:
PHP.array.groovy),其中:PHP:此名称将显示在 extractor 菜单中。array:extractor 的输出结果。groovy:脚本的扩展名。
在新文件中输入或粘贴 extractor 的代码。 您可以使用 extractors 文件夹中的其他 extractor 的代码编写自己的 extractor。 您还可以尝试以下 extractor:
GitHub 上的 TSV-Icelandic-Groovy.tsv.groovy :复制制表符分隔的查询结果,并粘贴到 Excel 中为逗号分隔格式。
GitHub 上的 Dbunit Dataset Export in Groovy :用于 Dbunit 导出的 extractor。
Table-Text-Groovy.txt.groovy 和 Fixed-length-fields.txt.groovy :生成具有固定长度列的 txt 文件的 extractor。
PHP-Array.groovy :导出为 PHP 数组的 extractor。
Markdown-JavaScript.markdown.js :导出为 Markdown 的 extractor。
从 extractor 列表中选择一个 extractor。
请参考以下在 GoLand 中添加 PHP-array extractor 的示例。
自定义数据提取器的 API
请使用以下 API 创建自定义数据 extractor。
绑定 | 方法(Groovy 与 JavaScript) | 描述 |
|---|---|---|
|
| 数据库方言 |
|
| 数据库表元数据 |
|
| 查询结果或当前打开的表编辑器中的所有列的列表。 |
|
| 查询结果或当前打开的表编辑器中的选定列的列表。 |
|
| 默认格式化方法。 |
|
| extractor 的输出结果。 |
|
|
|
TRANSPOSED | 指示表编辑器是否处于转置模式的布尔值。 |
示例
您可以使用以下简单的 CSV 数据 extractor 作为创建自定义数据 extractor 的基础。 该数据 extractor 的完整版本可在 GoLand 中找到。 要查找它,请在 项目 工具窗口中导航至 临时文件和控制台| 扩展|数据库工具和 SQL|data|extractors
参考
CSV 格式对话框
要打开此对话框,请单击工具栏中的 数据提取程序 列表,然后选择 配置 CSV 格式。
此对话框包含将表数据转换为分隔值格式(例如 CSV、TSV)及反向转换的设置。
预览限制为 10 条记录,以防止加载其他数据。 更改设置时,预览会相应更新。
项目 | 描述 |
|---|---|
格式 | 选择一个模板以将文件数据成功转换为表格。 您可以修改预定义模板的设置或添加新模板。 要添加模板,请点击 添加格式 按钮( 使用 添加格式 ( |
值分隔符(S) | 选择或输入用于分隔值的字符。 |
行分隔符(R) | 选择或输入用于分隔行的字符。 |
null 值文本(N) | 选择或输入要用于包含 |
添加行前缀/后缀 | 点击链接并输入每行的前缀与后缀。 前缀与后缀字符序列除行分隔符之外也用于标识行的起止。 |
引用 | 引号 下方区域中的每一行均为引用模式。 一个引用模式包括:
如果存在超过一个模式,将使用第一个模式。 使用 添加 ( |
为值加引号(Q) | 选择何时使用引用字符括住值。
|
清除空格(W) | 忽略或移除空白字符。 清除此复选框时,空白字符会视为值的一部分。 |
第一行是头(H) | 将首行视为包含列名的行。 |
第一列是头(H) | 将首列视为包含行名的列。 |