MYSQL 使用 mysqlimport 自动从文件夹插入 csv 文件

标签 mysql csv import directory mysqlimport

我想在指定时间自动从指定“文件夹”导入大约 3000 个 CSV 文件。 CSV 文件每天都会更新以包含新数据。

我知道我应该使用命令行工具“mysqlimport”和--replace选项,(因为有时旧数据会被更改)

最佳答案

load data local infile 'uniq.csv' into table tblUniq(field1, field2, field3)
fields terminated by ','
enclosed by '"'
lines terminated by '\n'

这是一个可选的解决方案,您唯一需要的是一个 PHP\Perl\Python 脚本来遍历所有文件,并将它们一一插入

PHP 代码:

<?php

    $basedir = "/path/to/dir"
    if ($handle = opendir($basedir)) {
      while(false !== ($entry = readdir($handle))) {
        $query = "LOAD DATA LOCAL INFILE $basedir$entry
                    INTO TABLE tableName
                    FIELDS
                    TERMINATED BY ','
                    OPTIONALLY ENCLOSED BY '\"'
                    ESCAPED BY '\\'
                    LINES TERMINATED BY '\n'
                    IGNORE 1 LINES");
        if(DEBUG) { echo $query . "\n"; }
        if(!mysql_query($query)) {
          die('MySQL error: ' . mysql_error());
        }
      }
    } else {
      echo "Could not open $basedir";
    }
    ?>

关于MYSQL 使用 mysqlimport 自动从文件夹插入 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22269825/

相关文章:

mysql - 为什么在 mysql 中键入数据 "long blob"在 Data Explorer MATLAB 中读取为 "int8"?

mysql - 按复杂值对 mysql 表进行排序

php - 使用 PHP PDO 逐行将 CSV 插入 Postgres

python - 如何使用 pandas 转置完整文件

java - 为什么我无法将类导入到 Eclipse Maven 项目中的 java 文件中?

javascript - 通过html表单POST在PHP中形成数组和/或列表,该表单包含未知数量的值,这些值最初由JavaScript排列

mysql - 使用 MySQL 更新 csv 字段中的行

linux - .import csv 计算列数错误

import - 在 Go 程序中使用多个文件

mysql - 我需要将我的两个表链接在一起并只返回最高的组平均值