Jak efektivně importovat data ze souboru csv do mysql?
- viktorfiser
- Člen | 1
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 | 502
ahoj, máš 2 možnosti:
- úplne mimo Nette (a celkovo PHP) → importovať to cez phpMyAdmina, dokáže naimportovať aj CSV
- 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 | 822
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).