我的数据很大,筛选后还有十多万条数据,我想先把筛选好的数据保存成一个表,怎么办到呢?我试了导出,只能选这一页的1000条,这远远不够,选全部数据导出的却是筛选之前的整个表的数据。
只能这一页,是被limit限制了
试试使用 -- INTO OUTFILE
SELECT * FROM myTable Where XX=XX and YY=YY INTO OUTFILE '/tmp/myTest.txt';
或者://CSV
SELECT * FROM myTable INTO OUTFILE '/tmp/myTest.txt'
-> FIELDS TERMINATED BY ',' ENCLOSED BY '"'
-> LINES TERMINATED BY '\r\n';
也或者:
把表复制一份,去掉冗余内容再全表导出
CREATE TABLE tableNew SELECT * FROM tableOld;
DELETE FROM tableNew Where XX=XX...
参考GPT和自己的思路:您可以使用MySQL命令行工具或者其他数据管理工具(比如Navicat等)来导出筛选好的数据。以下是使用MySQL命令行工具导出数据的步骤:
SELECT * FROM your_table WHERE your_condition;
SELECT * INTO OUTFILE '/path/to/your_table.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM your_table WHERE your_condition;
此处,/path/to/your_table.csv是您要保存CSV文件的路径,your_table是您要导出数据的表名,your_condition是您的查询条件。
注意:在执行上述命令时,请确保您有足够的权限来将数据导出到指定路径。