【问题标题】:Output mysql column into text file将mysql列输出到文本文件中
【发布时间】:2014-05-14 21:56:43
【问题描述】:

我的数据库中有一个名为“forumresults”的表。 该表包含列; “id”、“fid”、“userid”、“用户名”、“时间”等......

现在,我想通过仅使用“fid”9 输出字段来自动从该表中拉出一个列表。我不想要整行,我只想将“用户名”字段输出到 txt/csv文件用新行分隔。

此外,如果该字段不再在数据库中,则该命令应定期运行,并可选择从文件中删除。

我的建站软件:vbulletin 4.2.2
网站服务器:Centos 6.5
MySQL:5.5.34-MariaDB

附言我对 mysql 数据库的了解仅限于使用 phpmyadmin 进行搜索和修改。

【问题讨论】:

标签: mysql export-to-csv


【解决方案1】:

你可以使用SELECT ... INTO OUTFILE:

SELECT username
INTO   OUTFILE '/path/to/usernames.txt'
LINES  TERMINATED BY '\n'
FROM   forumresults
WHERE  fid = 9

您甚至可以创建一个event 来定期执行此类操作。但请注意:

该文件是在服务器主机上创建的,因此您必须具有FILE 权限才能使用此语法。 file_name 不能是现有文件,这会防止 /etc/passwd 和数据库表等文件被破坏。

【讨论】: