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

thi*_*hur 40 mysql mysql-workbench

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

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

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

vbe*_*nce 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';
Run Code Online (Sandbox Code Playgroud)

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

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

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


use*_*614 35

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

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

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

  3. 单击确定.

  4. 重新运行您的查询.

  • *"我正在尝试保存大约1,000,000条记录的查询结果"*在这种情况下,我不认为删除限制是正确的行动方案. (18认同)
  • 在MySQL Workbench 5.2中,他们将*Limit Rows*选项从`SQL Editor`移动到`SQL Queries`选项卡. (7认同)
  • Ubuntu Linux上的MySQL Workbench 6.3上的`Edit`>`Preferences`>`SQL Editor`>`SQL Execution` (3认同)

小智 5

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

  • 这并不能回答任何问题 (2认同)