首页 文章

mysql / export查询结果在csv文件中

提问于
浏览
0

我有mysql脚本,通过LEFT JOIN选择所需的数据,并将结果保存在csv文件中 . 但问题是 column names are missed in result file . 我做错了什么?

SELECT 
a.*, b.pr_name
INTO OUTFILE 'johnoggyresult3.csv'
    FIELDS TERMINATED BY ','
    ENCLOSED BY '"'
    LINES TERMINATED BY '\n'
FROM
    `fileb` AS b
LEFT JOIN
    `filea` AS a ON b.pr_hand_size = a.user_hand_size
ORDER BY
     a.user_id

1 回答

  • 0

    只需使用SELECT添加列名称即可 . 像这样的东西应该工作:

    SELECT * 
    
    INTO OUTFILE 'johnoggyresult3.csv'
    FIELDS TERMINATED BY ','
    ENCLOSED BY '"'
    LINES TERMINATED BY '\n'
    
    FROM (
    SELECT 'column1', 'column2'
    UNION ALL
    (SELECT 
    a.column1, b.pr_name
    FROM
        `fileb` AS b
    LEFT JOIN
        `filea` AS a ON b.pr_hand_size = a.user_hand_size
    ORDER BY
         a.user_id) AS q
    )
    

    请注意,在获取和排序结果之后以及将 Headers 附加到数据集之后,最终将转储到CSV . 在添加带有 Headers 的行之前,您还需要先对数据进行排序,否则 Headers 也会被排序,并且可能位于数据集中间的某个位置,而不是像预期的那样位于顶部 .

相关问题