CSV-failide import MySQL-i: täielik juhend ja näited

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 on LOAD 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 (tavaliselt n).

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.