1. Sissejuhatus CSV-faili MySQL-i importimise kohta
CSV-faili importimine MySQL-i on tõhus viis andmete haldamise lihtsustamiseks ja käsitsi sisestamise vältimiseks. Näiteks, kui soovite koondada mitmest andmeallikast kogutud infot ühte andmebaasi või töödelda automaatselt välissüsteemidest pärinevaid andmeid, on CSV-import väga kasulik.
CSV-importimise levinud kasutusalad
- Suurte andmemahtude töötlemine: CSV-import võimaldab töödelda tuhandeid kirjeid kiiresti, ilma käsitsi sisestamiseta.
- Andmete migreerimine: Kasulik siis, kui soovite importida teistest süsteemidest eksporditud andmeid MySQL-i.
- Regulaarne andmete uuendamine: Süsteemides, kus andmeid tuleb perioodiliselt värskendada, saab CSV-faile kasutada protsessi automatiseerimiseks.
2. Eeltingimused
Enne CSV-faili importimist MySQL-i on vaja teha mõned seadistused ja ettevalmistused, et tagada sujuv andmete import.
2.1 Vajalik keskkond
- MySQL-serveri paigaldamine
Oluline on, et MySQL oleks õigesti paigaldatud. Kontrollige, et see töötaks teie kasutatavas keskkonnas (Windows, macOS, Linux). - Nõutud õiguste kontroll
CSV-faili importimiseks peab MySQL kasutajal olema vajalikud õigused. Eriti oluline onLOAD DATA INFILE
käsu täitmise õigus. Selle puudumisel võib importimine ebaõnnestuda.
2.2 CSV-faili formaat
- Eraldaja
CSV-failid on tavaliselt komadega eraldatud, kuid mõnikord kasutatakse tabeldusmärki või semikoolonit. Kontrollige enne, milline eraldaja on kasutusel. - Kodeeringu kontroll
Kui CSV-fail on salvestatud erinevas märgistikus (nt UTF-8, Shift-JIS), võib importimisel tekkida tähemärkide moondumine. Kontrollige failide kodeeringut ja vajadusel teisendage see sobivaks.

3. CSV-import LOAD DATA INFILE
käsuga
Kõige levinum viis CSV-faili MySQL-i importimiseks on kasutada käsku LOAD DATA INFILE
. See võimaldab lihtsalt importida suuri andmemahtusid andmebaasi.
3.1 Põhisüntaks
Allpool on näide CSV-faili MySQL-i importimiseks kasutatavast põhikäsklusest.
LOAD DATA INFILE '/path/to/file.csv' INTO TABLE table_name
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n';
FIELDS TERMINATED BY
: Määrab väljade eraldaja (tavaliselt koma).LINES TERMINATED BY
: Määrab ridade lõpetamise märgi (tavaliseltn
).
3.2 Näide
Järgmises näites imporditakse user_data.csv
fail users
tabelisse.
LOAD DATA INFILE '/path/to/user_data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n'
IGNORE 1 LINES;
IGNORE 1 LINES
: Jätab CSV-faili esimese rea (päise) vahele. Kasulik juhul, kui esimeses reas on veerunimed.
3.3 Tähtis: failitee ja õigused
Fail peab asuma MySQL-serverile kättesaadavas kataloogis. Kui server ei pääse failile ligi, kasutage LOAD DATA LOCAL INFILE
käsku, et lugeda andmeid kliendi arvutist.
4. Levinud probleemide lahendamine
Allpool on toodud lahendused CSV-importimise käigus sageli esinevatele probleemidele.
4.1 Failitee probleem
Kui failitee on vale, võib tekkida viga The MySQL server is not permitted to read from the file
. Kontrollige failitee õigsust või kasutage LOAD DATA LOCAL INFILE
valikut.
LOAD DATA LOCAL INFILE '/path/to/file.csv' INTO TABLE table_name
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n';
4.2 Märgikodeeringu probleemid
Vale märgistikuga fail võib põhjustada tähemärkide moondumist. Selle vältimiseks määrake MySQL-is õige kodeering.
SET NAMES 'utf8mb4';

5. Praktiline näide: CSV-faili importimise sammud
Siin kirjeldatakse samm-sammult CSV-faili importimist MySQL-i.
5.1 CSV-faili ettevalmistamine
Looge CSV-fail (data.csv
) järgmise sisuga:
id,name,age
1,Yamada Taro,28
2,Sato Hanako,34
3,Tanaka Ichiro,45
5.2 Käskluse käivitamine
Käivitage järgmine käsk, et importida CSV-fail users
tabelisse:
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n'
IGNORE 1 LINES;
See käsk impordib CSV-faili andmed alates teisest reast users
tabelisse.
6. Täiustatud: vigade käsitlemine ja dubleeritud andmed
CSV-importimise käigus võib tekkida vigu või esineda dubleeritud andmeid. Allpool kirjeldatakse lahendusi.
6.1 Dubleeritud andmete käsitlemine
Kui sama võtmega rida juba eksisteerib, saab kasutada REPLACE
valikut, et vana rida uuega asendada.
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n'
IGNORE 1 LINES
REPLACE;
6.2 Vigade käsitlemine
Kui soovite jätkata importimist isegi vigade ilmnemisel, kasutage IGNORE
valikut. See jätab probleemsed read vahele.
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n'
IGNORE 1 LINES
IGNORE;

7. Kokkuvõte
MySQL-i CSV-import on võimas tööriist suurte andmemahtude töötlemiseks ja süsteemide vaheliseks andmete migreerimiseks. Kui mõistate põhisamme ja rakendate vigade käsitlemist ning dubleerimise vältimist, saavutate stabiilse andmete importimise.
Järgmises osas käsitleme üksikasjalikult, kuidas eksportida andmeid MySQL-i andmebaasist, et täiendada teie andmehalduse oskusi.