3.0.3版。这是一个相当大的结果集,大约300万行。
答案 0 :(得分:29)
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”插件即可。
这是长版:
运行查询
连接数据库。单击SQL
选项卡。输入您的查询。点击运行按钮(或Ctrl-Enter
)。
您应该会在窗格下半部分的结果区域中看到前100行左右(具体取决于您配置Limit Rows
选项的方式)。
导出完整结果
打开Session
菜单。选择Scripts
项目(几乎位于此长菜单的底部)。选择Store Result of SQL in File
。
这将打开一个对话框,您可以在其中配置导出。请务必检查Export the complete result set
以获取所有内容。
我没有尝试使用300万行结果集,但我注意到Squirrel似乎将数据流式传输到磁盘(而不是在写入之前将其全部读入内存),所以我没有看到任何理由为什么它不适用于任意大的文件。
请注意,您可以使用Ctrl-T
直接导出到文件,以调用工具弹出窗口并选择sql2file
。
答案 1 :(得分:5)
我找到了一种方法,在Squirrel中有一个很好的支持。运行SQL select(导出器将忽略100行限制,不用担心)。然后,在主菜单中,选择“文件”中的“会话”,“脚本”,“存储SQL的结果”。默认情况下,此功能可能不存在,它可能存在于某个标准插件中(但默认情况下未安装)。我不知道哪个插件。
答案 2 :(得分:3)
从GUI运行:
COPY (SELECT * FROM some_table) TO '/some/path/some_table.csv' WITH CSV HEADER
答案 3 :(得分:3)
我还想使用SquirrelSQL将SQL查询的结果导出到CSV文件。但是根据changes file,似乎即使在SquirrelSql 3.3.0中也不支持此功能。
到目前为止,我只能通过右键单击表格>导出SQL查询的“结果表”中显示的数据。导出为CSV。表格大小默认为100行,CSV导出也是如此。您可以在会话属性>中更改表格大小。 SQL>限制行。例如。将大小更改为10000,导出也将包含10000行。问题是,SquirrelSql将如何处理非常大的结果集(数百万行)......
答案 4 :(得分:0)
使用Squirrel 3.5.0 如果您只有一个简单的Select查询,那么“将SQL结果存储为文件”非常棒。一个更复杂的参数不会工作。 即使尝试将600,000多行的结果导出到CSV文件也可能失败。