导出
启用 数据库工具和 SQL 插件
此功能依赖于 数据库工具和 SQL 插件,默认在 GoLand 中捆绑并启用。如果相关功能不可用,请确保未禁用该插件。 如果相关功能不可用,请确保未禁用该插件。
按下 Ctrl+Alt+S 打开设置,然后选择 。
打开 已安装 选项卡,找到 数据库工具和 SQL 插件,并勾选插件名称旁的复选框。
您可以使用多种方法从数据库中导出数据和对象结构。 这些方法包括使用各种生成器、 data extractors 和快捷方式。 此外,您可以将数据导出为 TXT、CSV、JSON、XML、Markdown、Excel 等格式。 您可以选择预定义的数据提取器或创建自定义的提取器。
在 GoLand 中,您需要分别导出对象结构和数据。 也就是说,您可以导出表或视图的结构,然后从这些对象中导出数据。
完整数据转储适用于 PostgreSQL 和 MySQL,通过 mysqldump 和 pg_dump 实现。 完整数据转储包括所有数据库对象的结构和相关数据,并保存到同一个文件中。 有关更多信息,请参阅 为 MySQL 和 PostgreSQL 创建完整数据转储。
导出对象结构
数据定义语言(DDL)定义了数据库的结构,包括行、列、表、索引及其他元素。 在 GoLand 中,您可以使用具有预定义设置的快捷方式或 SQL Generator 生成数据定义结构,并自定义导出设置。
为数据库对象生成 DDL 定义
在 数据库 工具窗口中,右键单击数据库对象,选择 Ctrl+Alt+G。
在右侧工具栏中,您可以找到以下控件:
:将输出复制到剪贴板。
:将输出保存到文件。
:在 查询控制台 中打开输出。

更改 SQL Generator 的输出设置
在 数据库 工具窗口中,右键单击数据库对象(例如表),然后选择 Ctrl+Alt+G。
在 SQL 生成器 工具窗口中,单击 文件输出选项 图标(
)。
从 布局 列表中选择您要使用的方法:
按架构将每个对象单独导出为文件 :生成按 schema 分类存放在文件夹中的 SQL 文件集合。
按架构和数据库将每个对象单独导出为文件 :生成一组按架构和数据库分类的 SQL 文件。
每个对象单独导出为文件 :生成一组 SQL 文件。
每个对象按顺序单独导出为文件 :生成一组带编号的 SQL 文件。
按架构和类型将每个对象单独导出为文件 :生成一组按架构和类型分类的 SQL 文件。

将 DDL 定义生成到查询控制台
在 数据库 工具窗口中,右键单击数据库对象并选择 。
将 DDL 定义生成到剪贴板
在 数据库 工具窗口中,右键单击数据库对象并选择 。
如果数据库存储了对象的 DDL,您可以通过选择 请求并复制原始DDL 从数据库中检索该 DDL。
导出数据
GoLand 使用 数据提取器 将数据以多种格式导出至文件或剪贴板。 每次导出或复制数据时,所复制的数据格式由所选数据提取器决定。

您可以使用内置的数据提取器、基于 CSV 或 DSV 格式配置自定义提取器,也可以使用提供的 API 创建自定义数据提取器。
上次选择的提取器将成为新打开编辑器选项卡的默认提取器。 对于 MongoDB 来说,默认提取器始终为 JSON。
有关数据提取器的更多信息,请参阅 相应页面。
从 数据库 工具窗口导出数据
在 数据库 工具窗口中,右键单击数据库对象并导航至 。
要将多个数据库对象的数据导出到文件中,请选择并右键单击这些对象,然后导航至 。
在 导出数据 对话框中,自定义以下设置:
提取程序(R) :选择导出格式(例如, Excel (xlsx))。
转置(S) :选择以转置视图导出数据。 在此视图中,行和列将对调。
添加列标题(C) :在 CSV 列表开头添加包含列名的行。
添加行标题(R) :添加包含行枚举的列。
输出文件(O) :选择一个文件用于存储数据。
要将生成的脚本复制到剪贴板,请单击 复制到剪贴板。 要将脚本保存到文件,请单击 导出到文件。
从数据编辑器和查询结果选项卡导出数据
您可以在 数据编辑器 中打开表、视图和虚拟视图的数据。 查询结果集将显示在 结果选项卡中 服务 工具窗口以及 查询控制台 的 编辑器内结果 中。
要将完整数据导出至文件,请打开表或结果集并在工具栏上单击 导出数据
。 配置 导出设置 并点击 导出到文件。

要将完整数据导出至剪贴板,请打开表或结果集并在工具栏上点击 导出数据
。 配置 导出设置 并点击 将表导出到剪贴板。
或者,右键点击单元格并选择 将表导出到剪贴板。 数据将使用当前所选数据提取器进行导出。
与 将表导出到剪贴板 操作不同, 复制 Ctrl+C 操作仅复制当前页中选定的行。 要复制当前页上的所有行,请点击某个单元格,按下 Ctrl+A 然后 Ctrl+C。 要配置每页显示的行数,请参阅 设置结果集中行的数量。
导出到剪贴板
要从结果集或数据编辑器中复制选中的行,请按 Ctrl+C。
要将整个结果或整张表复制到剪贴板,请执行以下任一操作:
点击一个单元格,按 Ctrl+A 然后 Ctrl+C。
点击 全选 按钮。

在数据编辑器工具栏上:
点击 导出数据 图标(
)。
从 提取器 列表中选择导出格式并配置 导出设置。
点击 复制到剪贴板。
要将整个结果或表导出到剪贴板,请打开表或结果集,右键点击单元格并选择 将表导出到剪贴板。
要配置每页显示的行数,请参阅 设置结果集中行的数量。
从 MongoDB 集合中导出数据
右键点击要导出的集合并选择 导出数据到文件。
在 导出数据 对话框中,点击 提取程序(R) 列表并选择 JSON。
此操作的输出为 MongoDB 扩展 JSON。 请参阅 MongoDB Extended JSON (v2) at docs.mongodb.com 了解有关 MongoDB 扩展 JSON 的更多信息。

从 Microsoft SQL Server 表中导出数据
您可以使用 bcp 实用程序导出 Microsoft SQL Server 表数据。 该工具未集成到 GoLand 中。 您可以在 learn.microsoft.com 上了解相关内容。
在 数据库 工具窗口中,右键点击要导出数据的表,然后选择 。
在 使用 bcp (<data_source_name>) 导出 对话框中,在 bcp 路径 字段中指定 bcp 可执行文件的路径。
在 目标文件 中,指定要导出数据的文件路径。
点击 运行。

为 MySQL 和 PostgreSQL 创建完整数据转储
您可以通过对 MySQL 运行 mysqldump,或对 PostgreSQL 运行 pg_dump,为数据库对象(例如,架构、表或视图)创建备份。 mysqldump 和 pg_dump 是 MySQL 和 PostgreSQL 的原生工具。 它们未集成到 GoLand 中。 您可以在 dev.mysql.com 和 postgresql.org 上了解相关信息。
使用 mysqldump 或 pg_dump 导出数据
在 数据库 工具窗口中,右键点击数据库对象,然后导航至:
使用 'mysqldump' 导出 :用于 MySQL 数据源。 mysqldump 工具位于 MySQL 安装目录的 root/bin 目录中。
使用 'pg_dump' 导出 :用于 PostgreSQL 数据源。 pg_dump、pg_dump_all、pg_restore 工具均位于 PostgreSQL 的 bin 文件夹中。
在 使用 <dump_tool> 导出 对话框中,在 可执行文件路径 字段中指定 dump 工具可执行文件的路径。
GoLand 支持在这些工具中使用 WSL 可执行文件路径 路径。 例如,
//wsl$/Ubuntu-22.04/usr/bin/mysqldump。(可选)编辑对话框下部的命令行选项。
点击 运行。

“使用导出”对话框参考

项 | 描述 |
|---|---|
运行位置 | 设置工具运行的位置。 您可以选择在本地或 Docker 容器中运行它。
|
选项 | |
要导出的数据库 | 要连接的数据库名称。 |
要导出的表 | 从指定数据库导出的数据库表。 |
在 CREATE TABLE 前添加 DROP TABLE |
|
在每个 INSERT 前添加 DISABLE KEYS |
|
在每个表导出前添加 LOCK TABLES |
|
在 CREATE TRIGGER 前添加 DROP TRIGGER |
|
仅导出架构,不包含数据 |
|
导出架构,不包含表空间 |
|
导出时不创建表 |
|
在每个 INSERT 中包含列名 |
|
在 CREATE TABLE 中包含所有表选项 |
|
导出中包含存储过程 |
|
导出期间锁定所有表 |
|
使用 INSERT DELAYED(支持至 MySQL 5.5) |
|
多行使用单个 INSERT |
|
有关导出选项的更多信息,请参阅 mysqldump 文档。

项 | 描述 |
|---|---|
运行位置 | 设置工具运行的位置。 您可以选择在本地或 Docker 容器中运行它。
|
选项 | |
语句 |
|
数据库 |
要连接的数据库名称。 |
架构 |
导出指定模式中的对象。 |
要导出的表 |
从指定模式中导出的数据库表。 |
格式 |
输出格式:
|
导出路径 | 定义在您的计算机上转储文件的路径。 |
清理数据库 |
在创建转储的数据库对象之前先将其全部删除。 |
添加“IF EXISTS” |
启用 清理数据库 时,使用 |
创建数据库 |
先创建一个新数据库,然后重新连接。 启用 清理数据库 时,在重新连接前删除并重新创建目标数据库。 |
仅数据 |
仅导出数据,不导出架构。 |
有关导出选项的更多信息,请参阅 pg_dump 文档。
参考
“导出数据”对话框
导出数据 对话框中的设置取决于所选的数据提取器。

项目 | 描述 |
|---|---|
来源 | 显示提取数据的来源。 |
提取器 | 设置用于提取数据的数据提取器。 |
添加列 |
|
换位 | 更改导出数据的视图。 在此视图中,行与列互换。 |
添加表定义(DDL) | 将表的 DDL |
添加列标题 | 在 CSV 列表开头添加带列名的行。 |
添加行标题 | 添加带有行编号的列。 |
将查询输出到单独工作表 | 在输出 Excel(xlsx)文件中创建一个单独的 查询 工作表。 该工作表包含用于生成提取数据的查询。 |
输出文件(O) | 提取数据的输出文件路径。 |