DataGrip 2025.2 Help

导出

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

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

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

导出对象结构

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

以下视频展示了如何为现有对象生成 SQL。

为数据库对象生成 DDL 定义

  • 在 数据库资源管理器 中,右键单击数据库对象,然后选择 SQL 脚本 | SQL 生成器… Ctrl+Alt+G。

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

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

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

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

    为数据库对象生成 DDL 定义

更改 SQL 生成器的输出设置

  1. 在 数据库资源管理器 中,右键单击数据库对象(例如,表),然后选择 SQL 脚本 | SQL 生成器 Ctrl+Alt+G。

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

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

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

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

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

    • 按顺序为每个对象创建文件 :生成一组编号的 SQL 文件。

    • 按架构和类型分对象存储文件 :生成按模式和类型分类到文件夹中的一组 SQL 文件。

    更改 SQL 生成器的输出设置

生成 DDL 定义到查询控制台

  • 在 数据库资源管理器 中,右键单击一个数据库对象并选择 SQL 脚本 | 将DDL 生成到查询控制台。

生成 DDL 定义到剪贴板

  • 在 数据库资源管理器 中,右键单击一个数据库对象并选择 SQL 脚本 | 将DDL 生成到剪贴板。

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

导出数据

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

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

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

最后选择的提取器将成为新打开编辑器选项卡的默认提取器。 对于 MongoDB 来说,默认的提取器总是 JSON。

从 数据库资源管理器 导出数据

  1. 在 数据库资源管理器 中,右键单击数据库对象,然后导航到 导入/导出 | 导出数据到文件。

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

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

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

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

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

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

      添加行标题
    • 输出文件(O) :选择一个存储数据的文件。

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

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

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

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

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

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

    与 将表导出到剪贴板 操作相比, 复制 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 Server 表中导出数据

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

  1. 在 数据库资源管理器 中,右键单击要导出数据的表,然后选择 导入/导出 | 使用 'bcp' 导出。

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

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

  4. 点击 运行。

使用 bcp 从 Microsoft SQL Server 表导出数据

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

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

使用 mysqldump 或 pg_dump 导出数据

  1. 在 数据库资源管理器 中,右键单击数据库对象,然后导航到:

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

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

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

    DataGrip 支持使用 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 可执行文件的路径。

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

选项

语句

  • 复制 :将数据转储为 COPY 语句。

  • 插入: --inserts. 将数据转储为 INSERT 语句。 使恢复速度变慢。

  • 带列的插入: --column-inserts. 将数据转储为带有显式列名的 INSERT 语句。 使恢复速度显著变慢。

数据库

--dbname

要连接的数据库名称。

架构

--schema

转储指定架构中的对象。

要导出的表

--table

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

Format

--format

输出格式:

  • File: --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 文件中。

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

转置

更改导出数据视图。 在此视图中,行和列被互换。

添加表定义(DDL)

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

添加列标题

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

添加行标题

添加一个枚举行的列。

将查询输出到单独的表中

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

输出文件(O)

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

最后修改日期: 2025年 9月 26日