IntelliJ IDEA 2025.1 Help

导出

启用 数据库工具与 SQL 插件

此功能依赖于 数据库工具与 SQL 插件,该插件默认情况下在 IntelliJ IDEA 中绑定并启用。 如果相关功能不可用,请确保您没有禁用插件。

  1. Ctrl+Alt+S 打开设置,然后选择 插件

  2. 打开 已安装 选项卡,找到 数据库工具与 SQL 插件,然后选中插件名称旁边的复选框。

您可以使用各种方法从数据库中导出数据和对象结构。 这些方法包括使用各种生成器、 数据抽取器和快捷方式。 此外,您可以将数据导出为 TXT、CSV、JSON、XML、Markdown、Excel 等格式。 您可以选择预定义的数据提取器或创建自己的数据提取器。

在 IntelliJ IDEA 中,您将对象结构和数据分别导出。 这意味着您可以导出表格或视图的结构,然后从这些对象导出数据。

完整的数据转储可通过 mysqldumppg_dump 获得,适用于 PostgreSQL 和 MySQL。 完整数据转储包括所有数据库对象的结构和这些对象的数据,存储在一个文件中。 如需更多信息,请参阅 为 MySQL 和 PostgreSQL 创建完整数据转储

导出对象结构

数据定义语言(DDL)定义了数据库的结构,包括行、列、表、索引以及其他元素。 在 IntelliJ IDEA 中,您可以通过使用具有预定义设置的快捷方式生成数据定义结构,或者使用 SQL Generator 并自定义导出设置。

生成数据库对象的 DDL 定义

  • 数据库 工具窗口(视图(V) | 工具窗口 | 数据库 )中,右键点击数据库对象,然后选择 SQL 脚本 | SQL 生成器… Ctrl+Alt+G

    在右侧工具栏中,您可以找到以下控件:

    • 复制图标 :将输出复制到剪贴板。

    • 保存到文件图标 :将输出保存到文件。

    • 在控制台中运行 :在查询控制台中打开输出。

    生成数据库对象的 DDL 定义

更改 SQL Generator 的输出设置

  1. 数据库 工具窗口(视图(V) | 工具窗口 | 数据库 )中,右键点击数据库对象(例如,表),然后选择 SQL 脚本 | SQL 生成器 Ctrl+Alt+G

  2. SQL 生成器 工具窗口中,点击 文件输出选项 图标 (文件输出选项图标)。

  3. 布局 列表中选择您想要使用的方法:

    • 按架构每个对象一个文件 :生成按架构分类的文件夹中的一组 SQL 文件。

    • 按架构和数据库每对象一个文件 :生成一组按架构和数据库分类到文件夹中的 SQL 文件。

    • 每个对象一个文件 :生成一组 SQL 文件。

    • 每个对象的文件与顺序 :生成一个编号的 SQL 文件集。

    • 按架构和类型为每个对象创建文件 :生成按模式和类型分类到文件夹中的一组 SQL 文件。

    更改 SQL Generator 的输出设置

生成 DDL 定义到查询控制台

  • 数据库 工具窗口(视图(V) | 工具窗口 | 数据库 )中,右键点击数据库对象并选择 SQL 脚本 | 将DDL 生成到查询控制台

生成 DDL 定义到剪贴板

  • 数据库 工具窗口(视图(V) | 工具窗口 | 数据库 )中,右键点击数据库对象并选择 SQL 脚本 | 将DDL 生成到剪贴板

    如果您的数据库存储对象的 DDL,您可以通过选择 请求并复制原始DDL 从数据库中检索 DDL。

导出数据

IntelliJ IDEA 使用 数据提取器 将数据以各种格式导出到文件或剪贴板。 每次导出或复制数据时,复制的数据格式由所选的数据提取器定义。

数据编辑器工具栏上的 Data extractor 列表

您可以使用内置数据提取器,基于 CSV 或 DSV 格式配置自定义提取器,并使用提供的 API 创建自定义数据提取器。

最后选择的提取器将成为新打开编辑器标签的默认选项。 对于 MongoDB,“默认提取器”始终是 JSON。

从 数据库 工具窗口导出数据

  1. 数据库 工具窗口(视图(V) | 工具窗口 | 数据库 )中,右键点击数据库对象,然后导航到 导入/导出 | 导出数据到文件

    要将多个数据库对象的数据导出到文件中,请选择并右键点击这些对象,然后导航到 导入/导出 | 将数据导出到文件(F)

  2. 导出数据 对话框中,定制以下设置:

    • 提取程序(R) :选择导出格式(例如, Excel (xlsx))。

    • 转置(S) :选择以转置视图导出数据。 在此视图中,行和列是相互交换的。

    • 添加列标题(C) :在 CSV 列表的开头添加一行列名称。

    • 添加行标题(R) :添加一个带有行枚举的列。

    • 输出文件(O) :选择一个存储数据的文件。

  3. 要将生成的脚本复制到剪贴板,请点击 复制到剪贴板。 要将脚本保存到文件中,请点击 导出到文件

从数据编辑器和查询结果选项卡导出数据

您可以在 data editor 中打开表、视图和虚拟视图数据。 查询结果集显示在 结果选项卡服务 工具窗口中,并在查询控制台的 编辑器内结果中。

  • 要将完整数据导出到文件,请打开表或结果集,然后点击工具栏上的 导出数据 导出数据图标。 配置 export settings 并点击 导出到文件

    从编辑器导出数据
  • 要将完整数据导出到剪贴板,请打开表或结果集,然后点击工具栏上的 导出数据 导出数据图标。 配置 导出设置 ,然后点击 将表导出到剪贴板

    或者,右键点击单元格并选择 将表导出到剪贴板。 将使用当前选择的数据提取器导出数据。

    将表导出到剪贴板 操作相比, 复制 Ctrl+C 操作仅复制当前页面上选中的行。 要复制当前页面上的所有行,请点击一个单元格,按 Ctrl+A 然后 Ctrl+C。 要配置页面上的行数,请参阅 设置结果集中行的数量

导出到剪贴板

  • 要复制结果集或数据编辑器中的选定行,请按 Ctrl+C

  • 要将整个结果或整个表格复制到剪贴板,请执行以下操作:

    1. 点击一个单元格,按 Ctrl+A 然后 Ctrl+C

    2. 请点击 全选 按钮。

      数据编辑器中的 Select All 按钮
    3. 在数据编辑器工具栏上:

      1. 点击 导出数据 图标 (导出数据图标)。

      2. 提取器 列表中选择导出格式并配置 导出设置

      3. 点击 复制到剪贴板

    4. 要将整个结果或整个表导出到剪贴板,请打开表或结果集,右键点击一个单元格,然后选择 将表导出到剪贴板

    要配置页面上的行数,请参阅 设置结果集中行的数量

从 MongoDB 集合导出数据

  1. 右键点击您想要导出的 collection 并选择 导出数据到文件

  2. 导出数据 对话框中,点击 提取程序(R) 列表并选择 JSON

    此操作的输出是 MongoDB 扩展 JSON。 了解有关 MongoDB 扩展 JSON 的内容,请参阅 docs.mongodb.com 上的 MongoDB Extended JSON (v2)

    MongoDB Extended JSON

从 Microsoft SQL 服务器 表中导出数据

您可以使用 bcp 实用程序导出 Microsoft SQL 服务器 表数据。 该工具未集成到 IntelliJ IDEA。 您可以在 learn.microsoft.com 上阅读相关内容。

  1. 数据库 工具窗口(视图(V) | 工具窗口 | 数据库 )中,右键点击要从中导出数据的表,然后选择 导入/导出 | 使用 'bcp' 导出

  2. 使用 bcp (<data_source_name>) 导出 对话框中,指定 bcp路径 字段中 bcp 可执行文件的路径。

  3. 目标文件 中,指定要将数据导出的文件路径。

  4. 点击 运行

使用 bcp 从 Microsoft SQL 服务器 表导出数据

为 MySQL 和 PostgreSQL 创建完整的数据转储

您可以通过运行 MySQL 的 mysqldump 或 PostgreSQL 的 pg_dump 来为数据库对象(例如,模式、表或视图)创建备份。 mysqldump 和 pg_dump 是原生的 MySQL 和 PostgreSQL 工具。 它们没有集成到 IntelliJ IDEA 中。 您可以在 dev.mysql.compostgresql.org 上阅读相关内容。

使用 mysqldump 或 pg_dump 导出数据

  1. 数据库 工具窗口(视图(V) | 工具窗口 | 数据库 )中,右键点击数据库对象,然后导航到:

    • 使用 'mysqldump' 导出 :适用于 MySQL 数据源。 mysqldump 工具位于 MySQL 安装目录中的 root/bin 目录。

    • 使用 'pg_dump' 导出 :适用于 PostgreSQL 数据源。 pg_dump、pg_dump_all 和 pg_restore 工具都位于 PostgreSQL 的 bin 文件夹中。

  2. 使用 <dump_tool> 导出 对话框中,在 可执行文件路径 字段中指定 dump 工具可执行文件的路径。

    IntelliJ IDEA 支持使用 WSL 可执行文件路径 路径与这些工具。 例如, //wsl$/Ubuntu-22.04/usr/bin/mysqldump

    (可选)编辑对话框下部的命令行选项。

  3. 点击 运行

    使用 pg_dump 创建完整的数据转储

“导出方式”对话框参考

“使用 mysqldump 导出”对话框

条目

描述

运行位置

设置工具的运行位置。 您可以选择在本地运行或在 Docker 容器中运行。

  1. 在本地

    • 可执行文件路径 :定义您机器上 mysqldump 可执行文件的路径。

    • 将结果输出到 :定义本地机器上输出结果的路径。

  2. 在 Docker 容器中

    • 服务器 :设置用于运行容器的服务器。

    • 容器 :设置运行 mysqldump 可执行文件的容器。

    • 可执行文件路径 :定义容器内 mysqldump 可执行文件的路径。

    • 将结果输出到(容器中) :定义容器内输出结果的路径。

选项

要转储的数据库

要连接的数据库名称。

要转储的表

从指定的数据库中转储的数据库表。

在 CREATE TABLE 之前添加 DROP TABLE

--add-drop-table

mysqldump 文档

在每个 INSERT 前添加 DISABLE KEYS

--disable-keys-K

mysqldump 文档

在每次表转储之前添加 LOCK TABLES

--lock-tables-l

mysqldump 文档

在 CREATE TRIGGER 之前添加 DROP TRIGGER

--add-drop-trigger

mysqldump 文档

导出不带数据的架构

--no-data-d

mysqldump 文档

导出不带表空间的架构

--no-tablespaces-y

mysqldump 文档

导出而不创建表

--no-create-info-t

mysqldump 文档

在每个 INSERT 中包含列名

--complete-insert-c

mysqldump 文档

在 CREATE TABLE 中包含所有表选项

--create-options

mysqldump 文档

在转储中包含存储的例程

--routines-R

mysqldump 文档

在导出期间锁定所有表

--add-locks

mysqldump 文档

使用 INSERT DELAYED (最高为 MySQL 5.5)

--delayed-insert

对多行使用单个 INSERT

--extended-insert

mysqldump 文档

有关导出选项的更多信息,请参阅 mysqldump 文档

“使用 pg_dump 导出”对话框

条目

描述

运行位置

设置工具的运行位置。 您可以选择在本地运行或在 Docker 容器中运行。

  1. 在本地

    • 可执行文件路径 :定义您机器上 pg_dump 可执行文件的路径。

    • 将结果输出到 :定义本地机器上输出结果的路径。

  2. 在 Docker 容器中

    • 服务器 :设置用于运行容器的服务器。

    • 容器 :设置运行 pg_dump 可执行文件的容器。

    • 可执行文件路径 :定义容器内 pg_dump 可执行文件的路径。

    • 将结果输出到(容器中) :定义容器内输出结果的路径。

选项

语句

  • 插入--inserts。 以 INSERT 命令的形式转储数据。 使恢复速度变慢。

  • 插入时包含列--column-inserts。 以带有显式列名的 INSERT 命令形式转储数据。 使恢复速度显著变慢。

数据库

--dbname

要连接的数据库名称。

架构

--schema

转储指定模式中的对象。

要转储的表

--table

从指定模式中转储的数据库表。

设置格式

--format

输出格式:

  • 文件--format=p。 SQL 脚本文件。

  • 目录--format=d。 适合输入到 pg_restore 的目录格式存档。

  • 自定义格式存档--format=c。 适合输入到 pg_restore 的自定义格式存档。

  • Tar 格式存档--format=t。 适合输入到 pg_restore 的 Tar 格式存档。

导出路径

定义您机器上转储文件的路径。

清理数据库

--clean-c

在创建转储的数据库对象之前删除所有对象。

添加 "IF EXISTS"

--if-exists

当启用 清理数据库 时,使用 DROP ... IF EXISTS 删除对象。

创建数据库

--create-C

首先创建一个新数据库,然后重新连接到该数据库。 如果启用了 清理数据库 ,则在重新连接之前删除并重新创建目标数据库。

仅数据

--data-only-a

仅转储数据,不包括模式。

有关导出选项的更多信息,请参阅 pg_dump 文档

引用

导出数据对话框

导出数据 对话框中的设置取决于所选的数据提取器。

“导出数据”对话框

条目

描述

显示提取数据的来源。

提取器

设置将用于提取数据的数据提取器。

添加列

  • 已计算 :将包含计算值的列码添加到输出 .sql 文件中。

  • 已生成 :将包含自动生成值的列的代码添加到输出 .sql 文件中。

转置

更改导出数据视图。 在此视图中,行和列是相互交换的。

添加表定义(DDL)

将表的DDL CREATE 脚本添加到输出 .sql 文件。

添加列标题

在 CSV 列表的开头添加一个包含列名的行。

添加行标题

添加一个枚举行的列。

将查询输出到单独的表中

在输出的 Excel (xlsx) 文件中创建一个单独的 查询 工作表。 该工作表包含用于生成提取数据的查询。

输出文件(O)

提取数据的输出文件路径。

最后修改日期: 2025年 4月 24日