我正在尝试在MySQL工作台中保存大约1,000,000条记录的查询结果。
当我运行SELECT时,只显示了1000条记录(MySQL工作台的默认限制)。我知道我可以更改限制或删除限制,但我不希望将1,000,000条记录加载到结果面板中(这可能会使我的计算机崩溃?),但我确实希望将结果保存到一个文件中。
MySQL工作台是否允许将查询结果直接保存到文件中?或者保存整个结果集而不是1000个结果集?
发布于 2012-10-13 18:52:22
可以更改查询结果行限制,也可以完全删除该限制。
发布于 2013-04-07 20:00:05
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用户写入,它也很可能是其中之一。
发布于 2015-04-28 17:32:38
只需在SQL子句后面加上'limit $number‘即可。如果不添加limit,默认返回行数为1000。
https://stackoverflow.com/questions/10288716
复制相似问题