Import
启用 数据库工具和 SQL 插件
此功能依赖于 数据库工具和 SQL 插件,该插件在 PhpStorm 中默认捆绑并启用。 如果相关功能不可用,请确保没有禁用该插件。
按 Ctrl+Alt+S 打开设置,然后选择 。
打开 已安装 选项卡,找到 数据库工具和 SQL插件,然后选择插件名称旁边的复选框。
要从脚本文件导入数据,请按 运行 SQL 文件 页面中的描述运行该文件。 除了脚本文件,您还可以从包含分隔符分隔值的 CSV、TSV 或任何其他文本文件中导入数据。
导入数据
在 数据库 工具窗口中,右键点击数据源或架构,然后选择 。

在打开的文件浏览器窗口中,导航到您要运行的 SQL 文件。
点击 打开。
您可以在 运行 工具窗口中查看输出。 有关工具窗口控件的更多信息,请参阅 运行工具窗口。
从 CSV 文件导入数据
PhpStorm 使用数据提取器从 CSV 文件导入数据。 有关数据提取器的更多信息,请参阅 数据提取器 主题。
在 数据库 工具窗口中,右键点击架构或表,然后选择 。
导航至 CSV 文件并选择它们。
在 Import 对话框的映射树中,选择映射节点 (
) 并指定数据转换设置。
您可以选择在哪个 schema 中创建表,并选择是将数据导入到新表还是现有表中。 要选择架构或表,请使用 架构 和 Table 字段。
在映射树中,选择源文件以配置其设置。 如需将第一行标记为标题,请选择 第一行是标题。
应用更改并关闭对话框。


从表格数据文件导入数据
PhpStorm 使用脚本化的数据加载器从表格数据文件中导入数据。 有关脚本化数据加载器的更多信息,请参阅 数据加载器 主题。
在 数据库 工具窗口中,右键点击架构或表,然后选择 。
导航到表格数据文件并选择它们。
在 Import 对话框的映射树中,选择映射节点 (
) 并指定数据转换设置。
您可以选择在哪个 schema 中创建表,并选择是将数据导入到新表还是现有表中。 要选择架构或表,请使用 架构 和 Table 字段。
在映射树中,选择源文件以配置其设置。 如需将第一行标记为标题,请选择 第一行是标题。
应用更改并关闭对话框。


导入表格
选择您想复制到不同架构、数据库或现有表的表。
打开 Import 对话框。 要做到这一点,您可以使用以下操作:
右键点击选择内容并导航到 。
将所选内容拖动到模式或数据库。
请按 Ctrl+Shift+A ,输入
copy tables to并按 Enter。
在 Import 对话框的映射树中,选择映射节点 (
) 并指定数据转换设置。
您可以选择在哪个 schema 中创建表,并选择是将数据导入到新表还是现有表中。 要选择架构或表,请使用 架构 和 Table 字段。
在映射树中,选择源文件以配置其设置。
(可选)如果您希望在 IDE 遇到不可转换的值时插入 NULL,请选择 Insert inconvertible values as null。
应用更改并关闭对话框。


恢复 Microsoft SQL Server 表数据
您可以使用 bcp 实用程序还原 Microsoft SQL Server 表数据。 该工具未集成到 PhpStorm。 您可以在 learn.microsoft.com 阅读相关内容。
在 数据库 工具窗口中,右键点击您想要导入数据的表,然后选择 。
在 使用 bcp (<data_source_name>) 进行恢复 对话框中,在 bcp 的路径 字段中指定 bcp 可执行文件的路径。
在 源文件 中,指定您希望从中恢复数据的文件路径。
点击 运行。

恢复 MySQL 和 PostgreSQL 的完整数据转储
您可以使用 mysql 客户端工具为 MySQL 恢复数据转储,或使用 pg_restore 或 psql 为 PostgreSQL 恢复数据转储。 pg_restore 选项用于自定义格式 pg_dump -Fc 或目录格式 pg_dump -Fd 转储。 psql 选项用于 SQL 格式转储。
如果在上下文菜单中看不到恢复选项,请验证您使用的数据源的 JDBC URL 是否正确。
使用 mysql 或 pg_restore 恢复数据
在 数据库 工具窗口中,右键点击架构或数据库并导航到 导入/导出 组:
使用 'mysql' 进行恢复 :适用于 MySQL 数据源。 在 可执行文件路径 字段中,指定 mysql 可执行文件的路径(例如, C:\Soft\mysql-8.0.19-winx64\bin\mysql.exe )。
使用 'pg_restore' 进行恢复 :用于 PostgreSQL 数据源。 “ pg_restore” 选项适用于大多数数据库对象,但数据源级别除外。
使用 'psql' 进行恢复 :用于 PostgreSQL 数据源。 psql 选项适用于数据源。
使用 'pg_restore'/'psql' 进行恢复 :用于 PostgreSQL 数据源。 包括两个选项卡: pg_restore 和 psql。 该选项适用于数据库。
在 使用 <dump_tool> 进行恢复 对话框中,在 可执行文件路径 字段中指定 restore 工具可执行文件的路径。
(可选)编辑对话框下部的命令行选项。
点击 运行。

“使用恢复”对话框参考

项目 | 描述 |
|---|---|
运行位置 | 设置工具的运行位置。 您可以选择在本地运行或在 Docker 容器中运行。
|
选项 | |
数据库 |
要连接的数据库名称。 |
转储路径 | 定义您机器上转储文件的路径。 |

项目 | 描述 |
|---|---|
运行位置 | 设置工具的运行位置。 您可以选择在本地运行或在 Docker 容器中运行。
|
选项 | |
数据库 |
连接到指定的数据库并直接恢复到其中。 |
架构 |
仅恢复指定架构中的对象。 |
要转储的表 |
仅恢复指定的表。 |
Format |
输出格式:
|
转储路径 | 定义您机器上转储文件的路径。 |
清理数据库 |
在恢复之前删除将要恢复的所有数据库对象。 |
添加 "IF EXISTS" |
当启用 清理数据库 时,使用 |
创建数据库 |
首先创建一个新数据库,然后将数据恢复到其中。 如果启用了 清理数据库 ,则在连接到目标数据库之前删除并重新创建它。 |
仅数据 |
仅恢复数据,不恢复架构。 |
单一事务 |
通过将恢复操作包装在 |
有关导出选项的更多信息,请参阅 pg_restore 文档。

项目 | 描述 |
|---|---|
运行位置 | 设置工具的运行位置。 您可以选择在本地运行或在 Docker 容器中运行。
|
选项 | |
数据库 |
连接到指定的数据库并直接恢复到其中。 |
转储路径 |
定义您机器上转储文件的路径。 |
单一事务 |
通过将恢复操作包装在 |
有关导出选项的更多信息,请参阅 psql 文档。
导入对话框
当您将 文件、 表或 查询结果集导入数据库时,将显示 Import 对话框。
在此对话框左上角窗格中的映射树中,您可以创建 file-to-table、table-to-table 和 query-to-table 映射 ()。 在对话框右上角的设置窗格中,配置映射设置并更改数据源(CSV 文件、表和查询)的设置。 对话框底部的预览窗格显示生成的数据预览、带有不同源设置的源数据预览以及 DDL 语句预览。
映射树
图标 | 项目 | 快捷方式 | 描述 |
|---|---|---|---|
添加 | Alt+Insert | 创建一个新对象。 | |
移除 | Alt+Delete | 删除选定对象。 | |
编辑 | F4 | 在对象编辑器中打开选定对象。 | |
选择时编辑 | 在选择对象时在对象编辑器中打开对象,或者通过双击打开对象。 | ||
后退(B) | Ctrl+Alt+Left | 上一个对象。 | |
前进(W) | Ctrl+Alt+Right | 下一个对象。 |
设置
项目 | 描述 |
|---|---|
Path | 定义源文件的路径。 |
Charset | 确定用于读取文件的字符集。 |
Format | 确定使用哪种格式读取文件。 点击 |
第一行是头(H) | 将第一行视为包含列名称的行。 |
第一列是头(H) | 请将第一列视为包含行名的列。 |
清除空格(W) | 忽略或移除空白字符。 如果清除此复选框,空白字符将视为相应值的一部分。 |
列 | 源文件列名称。 |
Type | 来源文件列数据类型。 |
项目 | 描述 |
|---|---|
Path | 定义源文件的路径。 |
加载器 | 确定使用哪个 scripted data loader来导入文件数据。 |
第一行是头(H) | 将第一行视为包含列名称的行。 |
列 | 源文件列名称。 |
Type | 来源文件列数据类型。 |
项目 | 描述 |
|---|---|
Table | 定义源表。 |
项目 | 描述 |
|---|---|
目标 | 定义查询运行的目标对象。 |
Query | 定义源 SQL 查询。 |
项目 | 描述 | |
|---|---|---|
架构 | 您希望创建或复制表的架构。 您可以在另一个数据源中选择架构。 | |
Table | 如果您想将数据添加到现有表中,请输入新表或现有表的名称。
| |
映射 |
| 使用这些按钮来添加项目、删除项目,并在列表中上下移动项目。 |
目标列 | 目标表中的列名。 | |
源列 | 源数据表中的列名。 | |
编码 | 请选择源文件中数据的字符编码。 | |
将错误写入文件 | 将导入过程中发生的错误写入文本文件。 | |
Insert inconvertible values as null | 请将 | |
禁用索引和触发器,锁定表(可能更快) | 在导入期间禁用索引和触发器。 请注意,如果您选择此选项,可能会导致触发器未触发并无法传递其结果的情况。 尽管它可能会提高导入过程的性能。 仅当目标表(到处值的表)具有索引或触发器时,此选项才可用。 | |
数据预览窗格
项目 | 描述 |
|---|---|
和 文件: <file_name> 格式: <file_format> | 打开 CSV 源 部分以进行源文件设置。 |
数据预览 | 使用配置的设置读取数据的生成预览。 |
项目 | 描述 |
|---|---|
| 在 Path 字段中选择源文件路径。 |
| 重新加载生成的预览。 |
数据预览 | 使用配置的设置读取数据的生成预览。 |
项目 | 描述 |
|---|---|
| 重新加载表格预览。 |
和 表: <table_name> | 打开 表源 部分的源表设置。 |
数据预览 | 使用配置的设置读取数据的生成预览。 |
项目 | 描述 |
|---|---|
| 重新加载查询结果集。 |
和 表: <table_name> | 打开源查询设置的 查询来源 部分。 |
数据预览 | 使用配置的设置读取数据的生成预览。 |
项目 | 描述 |
|---|---|
数据预览 | 生成的预览显示您的数据将如何导入数据库。 |
DDL 预览 | PhpStorm 将运行的创建表的语句。 您可以编辑 DDL 预览 字段中的语句。 |