将mysql相关表导出到csv

时间:2014-12-04 11:13:22

标签: php mysql sql csv

我在数据库中有3个表,如下所示:

fruit_names ----> data <---- features

在与名称和功能表相关的数据中使用外键关系。因此,有一系列水果和一系列特征在单独的表格中指定,每个水果的每个特征的信息在数据表中给出。换句话说,每个数据行只与一个水果名称和一个特征名称相关联;关于水果和特征的其他信息存储在另外两个表中。

我想要一个格式化为表的csv,其功能为列和行上的水果:

        roundness           enlongatedness          tastyness           difficulty_to_peel
apple   10 quite round      1 not enlongated        5 depends           2 very difficult
banana  1 not round at all  8 quite enlongated      10 always tasty     9 very easy
kiwi    8 little bit round  3 little bit enlongated 5 depends           7 easy
orange  10 quite round      1 not enlongated        6 most often tasty  7 easy

这个命令当然为我提供了相关信息,但格式不正确:

SELECT fruit_names_name,data_x,features_feature_name 来自数据 加入功能 ON data.features_foreign = features.features_id 加入语言 ON data.fruit_names_foreign = fruit_names.fruit_names_id;

因为它在表格中显示如下数据:

fruit_names_name    data_x              features_feature_name
apple               10 quite round      roundness
apple               1 not enlongnated   enlongatedness
apple               3 depends           tastyness
apple               2 very difficult    difficulty_to_peel
banana              1 not round at all  roundness
banana              8 quite enlongated  enlongatedness
etc.

是否可以使用phpmyadmin,php脚本或mysql本身生成可用的.csv文件?

1 个答案:

答案 0 :(得分:0)

你可以连接这样的字段: -

SELECT CONCAT(fruit_names_name, ', ', data_x, ', ', ... etc)
FROM data 
JOIN features 
ON data.features_foreign = features.features_id 
JOIN languages 
ON data.fruit_names_foreign = fruit_names.fruit_names_id;

然后将输出复制到文本文件