Jak efektivně importovat data ze souboru csv do mysql?

viktorfiser
Člen | 1
+
0
-

Ahoj, jsem opravdu začátečník a mám otázku jak co nejefektivněji naimportovat data z csv do databáze. Mám vytvořený formulář s upload inputem. Po vybrání souboru a kliknutí na tlačítko bych chtěl vložit tyto data do db.

Existuje nějaká knihovna, která by mi s tím pomohla? Nebo musím sáhnout po nativním řešení od php? Díky moc za jakoukoliv radu. Pomohl by mi kus kódu kde se tohle řeší. Děkuju moc

MajklNajt
Člen | 471
+
+3
-

ahoj, máš 2 možnosti:

  1. úplne mimo Nette (a celkovo PHP) → importovať to cez phpMyAdmina, dokáže naimportovať aj CSV
  2. v PHP prečítať súbor (https://www.php.net/….fgetcsv.php), prejsť riadky pomocou foreach a urobiť insert/update do databázy (https://doc.nette.org/…ase/explorer#…)
Kamil Valenta
Člen | 758
+
+1
-

Import v phpMyAdmin asi nebude úplně mimo PHP :)

Ano, můžeš v php načítat CSV řádek po řádku a provádět inserty samostatně. To může narazit na limity, pokud bude CSV hodně velké.

Další možností je dotaz „LOAD DATA INFILE …“.

Třetí možností je utilita mysqlimport, pokud máš možnost ji spouštět (třeba cronem, pokud bude CSV obří a nepotřebuješ to mít úplně hned).

MajklNajt
Člen | 471
+
+1
-

Kamil Valenta napsal(a):

Import v phpMyAdmin asi nebude úplně mimo PHP :)

mimo PHP v tom zmysle, že nemusí nič programovať :)