将数据从 Mysql 导出为 CSV 格式

问题描述

我正在尝试从数据集生成随机样本,并使用 Mac 计算机上的 MysqL 工作台将文件存储在 csv 中。我的代码如下:

    <Slider {...settings}>
  {sliderData.map((slide,index) => {
    return (
      <div
        className='TeamSlider'
        key={index}
        style={{ height: '185px !important' }}
      >
        <img src={slide.image} alt='slider' key={index} />
      </div>
    )
  })}
</Slider>

未使用此脚本创建 csv 文件

我错过了什么?

解决方法

你有一个不属于那里的 UNION

SELECT 'col1','col2','col3','col4','col5'
INTO OUTFILE '/Users/Jim/Notebook/artest.csv' 
 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"',ESCAPED BY '\' LINES TERMINATED BY '\n'
FROM information_schema.columns 
WHERE table_schema = 'ar_state_nurses_salaries' 
AND table_name =   'ar_state_nurses_salaries.ar_state_nurses_salaries'
ORDER BY RAND(5)
LIMIT 1;
,

你问题的代码有点奇怪。 information_schema.COLUMNS 表包含其他表中列的描述。我不认为这是你想要的。

我相信你想要的结果集,没有标题,可以这样检索。

SELECT *
  FROM ar_state_nurses_salaries
 ORDER BY RAND()
 LIMIT 50

然后,您可以像这样导出。

SELECT *
    INTO OUTFILE '/Users/Jim/Notebook/artest.csv' 
    FIELDS TERMINATED BY ',' 
    OPTIONALLY ENCLOSED BY '"' 
    ESCAPED BY '\' 
    LINES TERMINATED BY '\n'   
  FROM (
          SELECT *
            FROM ar_state_nurses_salaries
           ORDER BY RAND()
           LIMIT 50
       ) results

请注意我如何将您的数据选择放入子查询中。那是因为您想将标题放在导出的文件中。这样做。

SELECT *
    INTO OUTFILE '/Users/Jim/Notebook/artest.csv' 
    FIELDS TERMINATED BY ',' 
    OPTIONALLY ENCLOSED BY '"' 
    ESCAPED BY '\' 
    LINES TERMINATED BY '\n'   
  FROM (
          SELECT 'col1','col5'
          UNION ALL
          SELECT *
            FROM ar_state_nurses_salaries
           ORDER BY RAND()
           LIMIT 50
       ) results

(不要在这里使用 UNION,因为 UNION 做了很多工作来去重行。UNION ALL 跳过了这项工作。)

但这可能不起作用:当您使用任何类型的 UNION 时,联合的每一列在整个结果中都必须具有相同的数据类型。因此,如果您的表格的第一列是人名,那就行了。您将获得一堆名称,第一个名称,即您的 CSV 列标题,将是 col1。它们都是文本字符串。但是,如果第二个数字是工资数字就行不通了,因为 'col2' 是一个字符串,而该列的其余部分是数字。

(这是一个臭名昭著的将 MySQL 数据导出到文件时的 xxx 脖子痛。)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...