将MySQL Workbench中的查询结果导出超过1000条记录

时间:2012-04-23 21:39:43

标签: mysql mysql-workbench

我正在尝试在MySQL Workbench中保存大约1,000,000条记录的查询结果。

当我运行SELECT时,只显示1000条记录(MySQL Workbench的默认限制)。我知道我可以更改限制,或删除限制,但我不希望将1,000,000条记录加载到结果面板中(这可能会导致计算机崩溃?),但我确实希望将结果保存到文件中。

MySQL Workbench是否允许您将查询结果直接保存到文件中?或者保存整个结果集而不是1,000?

4 个答案:

答案 0 :(得分:37)

LOAD DATA INFILE有一个叫SELECT ... INTO OUTFILE的兄弟姐妹。您可以像使用它一样使用它:

SELECT * FROM mytable
INTO OUTFILE '/tmp/mytable.csv'
FIELDS TERMINATED BY ','
    OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n';

此方法不会在UI中使用不必要的资源。

正如@florian指出的那样:但它会在数据库服务器上创建输出文件,而不是在客户端计算机上创建。

另请注意, SELinux AppArmor 等安全框架可能会阻止MySQL在标准数据库文件夹之外写入文件。如果您遇到权限被拒绝错误,即使该目录可由mysql用户写入,也可能是其中之一。

答案 1 :(得分:33)

可以更改查询结果行限制,或完全删除限制。

  1. 转到编辑→首选项→SQL编辑器(选项卡)。如果找不到查询结果,请转到 SQL查询(选项卡)

  2. 找到查询结果部分并取消选中限制行复选框

  3. 点击确定

  4. 重新运行您的查询。

答案 2 :(得分:5)

只需添加'limit $ number'即可附加SQL子句。 如果不添加限制,则默认返回的行为1000。

答案 3 :(得分:-1)

MySql 中有一个选项可以导出所有记录。命名查询结果操作。

enter image description here