我有一个表需要拆分成许多.csv文件,每个文件都有一组基于其中一列的内容的行。
我在这里找到了这个解决方案:Export Table Into Files Grouping By A Column,并且查询工作正常:
SELECT concat('SELECT * FROM YourTable WHERE col1 = ''',
col1, ''' INTO OUTFILE '''c:\result-', col1, '.txt'' ',
'FIELDS TERMINATED BY '','' OPTIONALLY ENCLOSED BY ''"''',
'LINES TERMINATED BY ''\n'';')
FROM YourTable
GROUP BY col1
但是,当我执行此查询时,我得到一列字段,其中每个字段都有一个这样的select语句:
SELECT * FROM table WHERE `col1` = 'value' INTO OUTFILE c:\results - value.csv FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY ' "' LINES TERMINATED BY '\n';
我如何执行这些陈述?
答案 0 :(得分:0)
你可以使用你的临时文件夹作为中间人,并将其保存为sql文件,然后运行该文件:
SELECT CONCAT('UPDATE a SET b = ', c, ' WHERE d = ', e, ';') AS query
FROM x INTO OUTFILE '/tmp/update_a.sql';
SOURCE '/tmp/update_a.sql';
很容易在控制台中进行一次性查询,在软件中使用,你应该使用更好的东西,比如@xQbert sugested