导入/导出选项

导入 CSV

从文件导入数据

有一个专门用来将 DSV(CSV 或 TSV)文件导入至数据库的 UI。 点击要导入的架构,然后从上下文菜单中选择从文件导入...。 然后选择存储数据的 CSV 文件。

您将看到导入对话框窗口。 左边的面板显示了格式规格:如果第一行是页眉(它有单独的格式选项),那么请选择分隔符,并指定你是否在文件中引述了值。

在右侧,您可以看到描述要创建表的框架和结果数据预览。 按下删除可以移除结果中的一行。 如果您希望从已有的表中导入数据,那么请使用该表的上下文菜单并选择从文件导入...

如果文件中有错误会怎么样? 本程序提供向文件写入错误记录选项。 导入过程不会中断,但所有错误的行都将被记录在该文件内。

向数据编辑器中粘贴 CSV

Excel 表中粘贴数据。 要执行该操作,通常您需要在 DSV 格式中粘贴数据的能力。 在 DataGrip 中,您可以定义任意您想要的 格式,或者您也可以让 IDE 自动侦测格式:齿轮图标 → 粘贴 格式

CSV 编辑器

DataGrip 可以将 CSV 文件作为表进行编辑。 在上下文菜单中点击作为表编辑

然后选择分隔符,指定表是否有页眉,以及什么时候引述值等等。 有即时表预览可以使用。

导出数据

内容与位置

表可以导出至:
文件。 表的上下文菜单 → 向文件转储数据 (Dump data to file)。
其他已有表 (Another existing table)。 表的上下文菜单将表复制到 (Copy Table to) (或在表上按 F5) → 选择已有表。
任意数据库供应商的任意数据源中的新表。 表的上下文菜单将表 复制到(或在表上按F5) → 选择目标架构。 或者直接把它拖放到那里! 这个 GIF 动画显示了 PostgreSQL 表格是如何被复制到 SQLite 数据源中的。

SQL 查询

SQL 查询可以作为结果导出到文件中。 语句的上下文菜单执行到文件 (Execute to file) → 选择格式。 如果查询比较慢,该功能很实用; 如果你导出结果集,查询将再次运行。 在这种情况下,您只需要运行一次。

结果集

结果集可以导出至:
文件。 转储按钮 To File.
剪贴板。 转储按钮 至剪贴板
其他已有表。导出按钮 → 选择已有表。
任意数据库供应商中任意数据源中的新表。 导出按钮 → 选择目标架构。

选择

数据编辑器中的选择可以复制到剪贴板:该操作可以通过常规方式 上下文菜单复制Ctrl+C 完成。

导出格式

您每次导出到文件或剪贴板时,都需要选择格式。 通常是 CSV 文件,但在许多情况下,您需要 JSON、XML 甚至是 DML 语句。 在下拉列表中选择合适的数据提取工具。 或者创建您自己的导出格式。

SQL 查询

任何表或结果集都可以用一组 INSERT 语句展示。 为此,请从下拉列表中选择 SQL 插入。 在部分情况下,在向其他表中添加数据时,它比直接编写 INSERT+SELECT 查询更快。 该生成可以识别自动递增 ID

它还可以展示为一组 UPDATE 语句,可以帮您修改数据。

CSV、TSV

列表中有两个预设格式:逗号分隔值Tab 分隔值。 您可以根据 DSV 创建任意自定义格式。 比如,它可以是 Confluence Wiki Markup

HTML/XML

有一个您无法更改的预设提取工具:HTML 表。 此外还有脚本提取工具: HTML-Groovy.html.groovyXML-Groovy.xml.groovy 等等。 您可以修改这些提取工具。

JSON

JSON-Groovy.json.groovy提取工具可以将您的表或结果集导出至 JSON。

自定义格式

要处理更加复杂的形式,请考虑使用脚本提取工具。 部分提取工具已经可以通过 CSV-Groovy.csv.groovyHTML-Groove.html.groovy 等使用。 在提取工具菜单中选择转到脚本目录,导航至它们的存储文件夹。

这些脚本是用 Groovy 编写的,但也可以用 JavaScript 编写,而且通常位于 Scratches 和 Consoles/Extensions/Database Tools and SQL/data/extractors 中。 修改已有提取工具或在这里添加您自己的提取工具。

要了解关于创建提取工具的更多信息,请阅读本教程

转储/恢复工具

我们为 DataGrip 集成了 mysqldump 和 pg_dump。 要转储对象,请使用上下文菜单中的Dump with...选项。 您还可以在上下文菜单中使用 MySQLPostgreSQL 的恢复工具。 如果是 PostgreSQL,那么您可以用 pg_dumppsql 执行恢复操作:可以在恢复对话框中选择。