sql >> Database >  >> RDS >> Mysql

CSV-gegevens importeren met PHP/MySQL

Ik heb onlangs een vrijwel identieke vraag beantwoord: CSV-bestanden opslaan in mysql-database

MySQL heeft een functie LOAD DATA INFILE , waarmee het een CSV-bestand rechtstreeks in een enkele SQL-query kan importeren, zonder dat het in een lus via uw PHP-programma hoeft te worden verwerkt.

Eenvoudig voorbeeld:

<?php
$query = <<<eof
    LOAD DATA INFILE '$fileName'
     INTO TABLE tableName
     FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED BY '"'
     LINES TERMINATED BY '\n'
    (field1,field2,field3,etc)
eof;

$db->query($query);
?>

Zo simpel is het.

Geen lussen, geen gedoe. En veel veel sneller dan het in PHP te ontleden.

MySQL-handleiding hier:http://dev.mysql. com/doc/refman/5.1/en/load-data.html

Ik hoop dat dat helpt



  1. Detecteren of de rij is bijgewerkt of ingevoegd

  2. MySQLi voorbereide verklaringen foutrapportage

  3. Best practices voor PostgreSQL-replicatie - Deel 2

  4. Waarom hebben sommige commando's in psql geen effect?