查询结果导出在MySQL Workbench中超出1000条记录(Exporting query r

2019-06-23 21:53发布

我想保存在MySQL工作台约1,000,000记录的查询结果。

当我运行SELECT,只有1000条记录显示出来(MySQL工作台的默认限制)。 我知道我可以改变的极限,或删除了极限,但我不想1,000,000记录时,被加载到结果面板(这可能会崩溃我的电脑?),但我确实想将结果保存到一个文件中。

请问MySQL工作台让你查询的结果直接保存到一个文件? 或保存整个结果集的1000呢?

Answer 1:

这是可以改变的查询结果行限制,或者完全删除该限制。

  1. 转到编辑→首选项→SQL编辑器(标签)。 如果你不能找到查询结果 ,去SQL查询(标签)来代替。

  2. 找到查询结果部分,取消勾选行上限的复选框

  3. 单击确定

  4. 重新运行查询。



Answer 2:

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指出:它将,然而,在数据库服务器上的输出文件,而不是在客户机上。

还要注意的是上面的SELinuxAppArmor安全框架可能会阻止的MySQL从标准数据库文件夹之外写入文件。 如果遇到权限被拒绝的错误,即使目录是可写mysql用户,很可能是其中之一。



Answer 3:

只需添加“限制$号”追加SQL子句。 如果不加限制,则默认返回线是1000。



文章来源: Exporting query results in MySQL Workbench beyond 1000 records