24

版本 3.0.3。这是一个相当大的结果集,大约 300 万行。

4

5 回答 5

33

马丁几乎有这个权利。

TL/DR 版本是您需要“SQLScripts”插件(这是“标准”插件之一),然后您可以选择这些菜单选项:Session> Scripts>Store Result of SQL in File

我在看3.4版。我不知道这个功能是什么时候引入的,但是如果你没有并且无法安装 SQLScripts 插件,你可能需要升级。

可以在以下位置找到安装新插件的说明:http: //squirrel-sql.sourceforge.net/user-manual/quick_start.html#plugins

但是,如果您正在执行 Squirrel 的全新安装,您可以在安装过程中简单地选择“SQLScripts”插件。

这是长版本:


  1. 运行查询

    连接到数据库。单击SQL选项卡。输入您的查询。点击运行按钮(或Ctrl-Enter)。

    您应该在窗格下半部分的结果区域中看到前 100 行左右(取决于您如何配置该Limit Rows选项)。

  2. 导出完整结果

    打开Session菜单。选择Scripts项目(几乎在这个长菜单的底部)。选择Store Result of SQL in File

    这将打开一个对话框,您可以在其中配置导出。确保检查Export the complete result set以获取所有内容。


我没有尝试过使用 300 万行结果集,但我注意到 Squirrel 似乎将数据流式传输到磁盘(而不是在写入之前将其全部读入内存),所以我看不出它有任何理由不能处理任意大的文件。

请注意,您可以使用Ctrl-T调用工具弹出窗口并选择直接导出到文件sql2file

于 2012-10-16T23:06:19.983 回答
5

我找到了一种方法来做到这一点,松鼠对此有很好的支持。运行 SQL 选择(导出器将忽略 100 行限制,不用担心)。然后,在主菜单中,选择 Session、Scripts、Store Result of SQL in File。此功能可能默认不存在,它可能存在于某些标准插件中(但默认未安装)。虽然不知道是哪个插件。

于 2012-06-28T11:35:09.603 回答
3

我还想使用 SquirrelSQL 将 SQL 查询的结果导出到 CSV 文件。但是根据更改文件,似乎即使在 SquirrelSql 3.3.0 中也不支持此功能。

到目前为止,我只能通过右键单击表 > 导出到 CSV 导出 SQL 查询的“结果表”中显示的数据。默认情况下,表大小为 100 行,CSV 导出也是如此。您可以在会话属性 > SQL > 限制行中更改表大小。例如,将大小更改为 10000,您的导出也将包含 10000 行。问题是,SquirrelSql 将如何处理非常大的结果集(数百万行)......

于 2011-12-03T14:48:34.537 回答
2

从您的 GUI 运行:

COPY (SELECT * FROM some_table) TO '/some/path/some_table.csv' WITH CSV HEADER

于 2010-02-23T02:05:54.383 回答
0

使用 Squirrel 3.5.0 如果您只有一个简单的 Select 查询,那么“将 SQL 结果存储为文件”非常有用。一个更复杂的参数将不起作用。即使尝试将超过 600,000 行的结果导出到 CSV 文件也可能会失败。

于 2013-08-04T05:01:18.713 回答