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

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

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

您可以使用内置的数据提取器,基于 CSV 或 DSV 格式配置自定义提取器,并使用提供的 API 创建自定义数据提取器。
最近一次选择的提取器将成为新打开的编辑器选项卡的默认提取器。 对于 MongoDB,默认提取器始终为 JSON。
有关数据提取器的详细信息,请参阅 相应页面。
从 数据库 工具窗口导出数据
在 数据库 工具窗口中,右键点击一个数据库对象,然后转到 。
要将多个数据库对象的数据导出到文件,选中并右键点击这些对象,然后转到 。
在 导出数据 对话框中,自定义以下设置:
提取程序(R) :选择导出格式(例如, Excel (xlsx))。
转置(S) :选择以转置视图导出数据。 在该视图中,行与列互换。
添加列标题(C) :在 CSV 列表开头添加包含列名的行。
添加行标题(R) :添加一个包含行号的列。
输出文件(O) :选择用于存储数据的文件。
要将生成的脚本复制到剪贴板,请点击 复制到剪贴板。 要将脚本保存到文件,请点击 导出到文件。
从数据编辑器和查询结果选项卡导出数据
您可以在 数据编辑器 中打开表、视图和虚拟视图的数据。 查询结果集显示在 服务 工具窗口的 结果选项卡 中,以及 查询文件 的 编辑器内结果 中。
导出到剪贴板
从 MongoDB 集合导出数据
右键点击要导出的集合,并选择 导出数据到文件。
在 导出数据 对话框中,点击 提取程序(R) 列表,并选择 JSON。
该操作的输出为 MongoDB 扩展 JSON。 在 MongoDB Extended JSON (v2) at docs.mongodb.com 阅读有关 MongoDB 扩展 JSON 的内容。

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

为 MySQL 和 PostgreSQL 创建完整数据转储
您可以通过为 MySQL 运行 mysqldump 或为 PostgreSQL 运行 pg_dump 来为数据库对象(例如,架构、表或视图)创建备份。 mysqldump 和 pg_dump 是 MySQL 和 PostgreSQL 的原生工具。 它们未集成到 PyCharm 中。 您可以在 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> 导出 对话框中,在 可执行文件路径 字段中指定转储工具可执行文件的路径。
PyCharm 支持在这些工具中使用 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) | 提取数据的输出文件路径。 |

