mysql - 如何在mysql中将字段的内容作为语句执行?

标签 mysql export

我有一个表,需要将其拆分为许多 .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 * FROM table WHERE `col1` = 'value' INTO OUTFILE c:\results - value.csv  FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY ' "' LINES TERMINATED BY '\n';

如何执行这些语句?

最佳答案

您可以使用临时文件夹作为中间人,并将其保存为 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

关于mysql - 如何在mysql中将字段的内容作为语句执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18215551/

相关文章:

PHP mysql_result 错误

mysql - 如果先行查询至少有 1 个结果,则不返回任何结果?

java - 从 Eclipse 导出可运行的 JAR 时遇到问题

Java RTF 可以导入、编辑和导出吗?

json - 在 json 文件中导出 neo4j 数据库

Python 无法连接到 MySQL 数据库 : OperationalError

php - Laravel 查询生成器 - sum() 方法问题

hadoop - 如何将一个或多个表从 Hbase shell 导出为文本格式?

javascript - 导出 NODEJS 获取响应为 '' undefined''

php - 搜索:匹配多列中的所有单词