gpt4 book ai didi

mysql - 将 mysql 行导出到不同的文件中

转载 作者:可可西里 更新时间:2023-11-01 07:16:26 24 4
gpt4 key购买 nike

我有一个包含 html 代码和一些其他信息的 mySQL 表。

像这样的一个例子:

SELECT id, lang, html 
FROM mytable t
WHERE type = 10

给出结果:

id     lang     html
-------------------------------------------------------
20 fr '<html> ... html code here </html>'
21 de '<html> ... html code here </html>'
22 it '<html> ... html code here </html>'
23 en '<html> ... html code here </html>'

我的想法是将 html 代码每行导出到一个文件中,例如

  • 20_fr.html 将包含 id 20 的 html 列
  • 21_de.html 将包含 id 21 的 html 列
  • 等...

是否可以只用像this example 这样的SQL 语言来实现?用于将所有行导出到一个文件中。

我知道我可以用 Java 或任何其他语言来完成,但我只对 SQL 感兴趣(存储过程可能没问题)。

最佳答案

您可以将 SELECT 语句与 INTO 和 OUTFILE 子句一起使用。

参见:http://dev.mysql.com/doc/refman/5.7/en/select-into.html

SELECT html
FROM mytable
WHERE lang = 'fr'
INTO OUTFILE 'frdata.txt'

以下 SQL 查询可用于为表中的每一行生成一个文件输出语句。请注意使用 CONCAT 函数为每行构建一个新的 SQL SELECT INTO OUTFILE 命令。

SELECT CONCAT( 'SELECT html from mytable where lang=''', lang, '''', ' INTO OUTFILE ''', CAST(id AS CHAR), '_', lang, '.html'';')

FROM mytable

ORDER BY id;

这将产生语句:

SELECT html from mytable where lang='fr' INTO OUTFILE '20_fr.html';

SELECT html from mytable where lang='de' INTO OUTFILE '21_de.html';

SELECT html from mytable where lang='it' INTO OUTFILE '22_it.html';

...

关于mysql - 将 mysql 行导出到不同的文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23389518/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com