PyCharm 2025.3 Help

导出

启用 数据库工具和 SQL 插件

此功能依赖于 数据库工具和 SQL 插件,该插件随 PyCharm 一起捆绑并默认启用。 如果相关功能不可用,请确保未禁用该插件。

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

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

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

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

完整数据转储适用于 PostgreSQL 和 MySQL,可借助 mysqldumppg_dump 实现。 完整数据转储将在单个文件中包含所有数据库对象的结构以及这些对象的数据。 有关详细信息,请参阅 为 MySQL 和 PostgreSQL 创建完整数据转储

导出对象结构

数据定义语言(DDL)定义数据库的结构,包括行、列、表、索引等元素。 在 PyCharm 中,您可以使用带有预定义设置的快捷方式,或使用 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。

导出数据

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

数据编辑器工具栏上的数据提取器列表

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

最近一次选择的提取器将成为新打开的编辑器选项卡的默认提取器。 对于 MongoDB,默认提取器始终为 JSON。

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

  1. 数据库 工具窗口中,右键点击一个数据库对象,然后转到 导入/导出 | 导出数据到文件

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

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

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

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

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

    • 添加行标题(R) :添加一个包含行号的列。

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

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

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

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

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

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

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

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

导出到剪贴板

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

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

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

    2. 点击 全选 按钮。

      数据编辑器中的全选按钮
    3. 在数据编辑器工具栏中:

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

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

      3. 点击 复制到剪贴板

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

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

从 MongoDB 集合导出数据

  1. 右键点击要导出的集合,并选择 导出数据到文件

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

    该操作的输出为 MongoDB 扩展 JSON。 在 MongoDB Extended JSON (v2) at docs.mongodb.com 阅读有关 MongoDB 扩展 JSON 的内容。

    MongoDB 扩展 JSON

从 Microsoft SQL Server 表导出数据

您可以使用 bcp 实用工具导出 Microsoft SQL Server 表数据。 该工具未集成到 PyCharm 中。 您可以在 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 的原生工具。 它们未集成到 PyCharm 中。 您可以在 dev.mysql.compostgresql.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> 导出 对话框中,在 可执行文件路径 字段中指定转储工具可执行文件的路径。

    PyCharm 支持在这些工具中使用 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 :将数据转储为 COPY 语句。

  • INSERT--inserts。 将数据转储为 INSERT 语句。 会降低恢复速度。

  • 包含列名的 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年 12月 2日