1. Úvod do importu CSV souborů do MySQL
Import CSV souborů do MySQL je výkonný způsob, jak zefektivnit správu dat a odstranit potřebu ručního zadávání dat. Například když chcete hromadně načíst informace shromážděné z více zdrojů dat do databáze, nebo automaticky zpracovávat data z externího systému, import CSV se stává mimořádně užitečným.
Běžné případy použití importu CSV
- Zpracování velkých datových sad : Místo ručního zadávání tisíců záznamů můžete rychle zpracovat je pomocí importu CSV.
- Migrace dat : Praktické pro import dat exportovaných z jiných systémů do MySQL.
- Pravidelné aktualizace dat : V systémech, které vyžadují časté aktualizace, je automatizace pomocí CSV souborů vysoce efektivní.
2. Předpoklady
Před importem CSV souboru do MySQL jsou vyžadovány určité konfigurace a přípravy, aby byl proces plynulý.
2.1 Požadované prostředí
- Instalace MySQL serveru Musíte mít MySQL řádně nainstalovaný. Ověřte, že MySQL běží ve vašem prostředí — ať už Windows, macOS nebo Linux.
- Ověření potřebných oprávnění Pro import CSV souborů musí mít MySQL uživatel příslušná oprávnění, zejména oprávnění
LOAD DATA INFILE. Bez něj mohou být importy odmítnuty.
2.2 Formát CSV souboru
- Oddělovač CSV soubory jsou obvykle odděleny čárkou, ale někdy se používají tabulátory nebo středníky. Vždy před importem potvrďte, jaký oddělovač je použit.
- Kontrola kódování Pokud CSV soubor používá jiné kódování znaků (např. UTF-8, Shift-JIS), může během importu dojít k poškození znaků. Předem zkontrolujte kódování souboru a v případě potřeby jej převedete na správné.

3. Import CSV pomocí příkazu LOAD DATA INFILE
Nejčastějším způsobem, jak importovat CSV soubory do MySQL, je použití příkazu LOAD DATA INFILE, který usnadňuje hromadné načtení velství dat do tabulky.
3.1 Zání syntaxe
Zde je základní syntaxe pro import CSV souboru do MySQL:
LOAD DATA INFILE '/path/to/file.csv' INTO TABLE table_name
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n';
FIELDS TERMINATED BY: Definuje oddělovač používaný mezi poli. Čárka je nejčastější.LINES TERMINATED BY: Definuje oddělovač řádků, obvyklen(nový řádek).
3.2 Příklad provedení
V následujícím příkladu je soubor s názvem user_data.csv importován do tabulky users:
LOAD DATA INFILE '/path/to/user_data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n'
IGNORE 1 LINES;
IGNORE 1 LINES: Přeskočí první řádek (hlavičku). Užitečné, když CSV obsahuje názvy sloupců v prvním řádku.
3.3 Poznámky k cestě k souboru a oprávněním
Soubor musí být umístěn tam, kde k němu může MySQL server přistupovat. Pokud server nemůže soubor číst, použijte LOAD DATA LOCAL INFILE k importu dat ze strany klienta.
4. Řešení běžných problémů
Níže jsou řešení typických problémů, které se vyskytují při importu CSV souborů do MySQL.
4.1 Problémy s cestou k souboru
Pokud je cesta k souboru nesprávná, můžete vidět chybu The MySQL server is not permitted to read from the file. V takových případech ověřte správnou cestu na serveru, nebo použijte možnost LOAD DATA LOCAL INFILE k načtení souborů ze strany klienta.
LOAD DATA LOCAL INFILE '/path/to/file.csv' INTO TABLE table_name
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n';
4.2 Problémy s kódováním znaků
Pokud je soubor uložen s jiným kódováním, může se během importu objevit poškozený text. Aby se tomu předešlo, potvrďte kódování souboru a nastavte v MySQL odpovídající znakovou sadu:
SET NAMES 'utf8mb4';

5. Praktický příklad: Import CSV souboru
Projděme krok za krokem proces importu CSV souboru do MySQL.
5.1 Příprava CSV souboru
Vytvořte CSV soubor (data.csv) s následujícím obsahem:
id,name,age
1,Taro Yamada,28
2,Hanako Sato,34
3,Ichiro Tanaka,45
5.2 Spuštění příkazu
Pro import souboru do tabulky users spusťte tento příkaz:
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n'
IGNORE 1 LINES;
Tento příkaz importuje všechny řádky počínaje druhým řádkem do tabulky users.
6. Pokročilé: Zpracování chyb a duplicitní data
Zde je návod, jak zpracovat chyby a duplicitní data při importu CSV souborů do MySQL.
6.1 Zpracování duplicitních dat
Pokud záznamy se stejným klíčem již existují, použijte volbu REPLACE k přepsání existujících řádků novými daty:
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n'
IGNORE 1 LINES
REPLACE;
6.2 Zpracování chyb
Pokud chcete proces pokračovat i při výskytu chyb, použijte volbu „. Tím se přeskočí problematické řádky a zbytek dat se i tak importuje:
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n'
IGNORE 1 LINES
IGNORE;

7. Závěr
Import CSV souborů do MySQL je výkonný nástroj pro správu velkých datových sad a efektivní migraci dat mezi systémy. Ovládnutím základů a naučením se, jak zpracovávat chyby a duplicity, můžete zajistit spolehlivé a stabilní importy dat.
V budoucích článcích se také podíváme na to,ovat data z databází MySQL, abyste dále rozšířili své dovednosti v oblasti správy dat.


