sql >> Databasteknik >  >> RDS >> Mysql

MYSQL infogar automatiskt csv-filer från mappen med mysqlimport

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

Det här är en valfri lösning, det enda du behöver är ett PHP\Perl\Python-skript för att hantera alla filerna och infoga dem en efter en

PHP-kod:

<?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";
    }
    ?>



  1. TIMEFROMPARTS() Exempel i SQL Server (T-SQL)

  2. MySQL uppdaterar inte information_schema, om jag inte manuellt kör ANALYSE TABLE `myTable`

  3. Hur man skapar anpassade genvägar i SQL Server Management Studio (SSMS) - SQL Server / TSQL handledning Del 10

  4. Laravel SQLSTATE[22007]:Ogiltigt datetime-format:1292 Felaktigt datetime-värde:'2019-03-10 02:00:39' för kolumnen 'updated_at' (sommartid?)