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

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

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

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

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

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

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

为 MySQL 和 PostgreSQL 创建完整的数据转储
您可以通过运行 MySQL 的 mysqldump 或 PostgreSQL 的 pg_dump 来为数据库对象(例如,模式、表或视图)创建备份。 mysqldump 和 pg_dump 是原生的 MySQL 和 PostgreSQL 工具。 它们没有集成到 IntelliJ IDEA 中。 您可以在 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 工具可执行文件的路径。
IntelliJ IDEA 支持使用 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) | 提取数据的输出文件路径。 |