簡體   English   中英

MYSQL使用mysqlimport自動從文件夾插入csv文件

[英]MYSQL automatically insert csv files from folder using 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";
    }
    ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM