Εισαγωγή αρχείου CSV σε πίνακα MySQL

Από The Stelios Files

Η LOAD DATA INFILE δήλωση σάς επιτρέπει να διαβάζετε δεδομένα από ένα αρχείο κειμένου και να εισάγετε τα δεδομένα αυτά σε έναν πίνακα βάσης δεδομένων πολύ γρήγορα.

Οι στήλες του αρχείου δεδομένων CSV πρέπει να ταιριάζουν με τον αριθμό των στηλών του πίνακα και τον τύπο των δεδομένων σε κάθε στήλη.

Ο λογαριασμός, ο οποίος συνδέεται με τον διακομιστή βάσης δεδομένων MySQL, πρέπει να έχει δικαιώματα FILE και INSERT.

Το ακόλουθο αρχείο dei.csv περιέχει την πρώτη γραμμή ως επικεφαλίδες στηλών και μετά ακολουθούν οι γραμμές δεδομένων.

id,date,m_day,m_night,remarks
1,2022-12-15,84275,27072,
2,2022-12-16,84282,27075,
3,2022-12-17,84290,27077,
4,2022-12-18,84303,27080,
5,2022-12-19,84314,27084,

Η ακόλουθη δήλωση εισάγει δεδομένα από το αρχείο C:\ProgramData\MySQL\MySQL Server 8.0\Uploads\dei.csv στον πίνακα my_table.

LOAD DATA INFILE "C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/dei.csv" INTO TABLE statistical_data.my_table
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES;

Κάθε πεδίο στο αρχείο τερματίζεται με κόμμα που υποδεικνύεται με FIELD TERMINATED BY ',' και περικλείεται από διπλά εισαγωγικά που καθορίζονται από το ENCLOSED BY '"'.

Κάθε γραμμή του αρχείου CSV τερματίζεται με έναν χαρακτήρα νέας γραμμής που υποδεικνύεται με LINES TERMINATED BY '\n'.

Επειδή το αρχείο έχει την πρώτη γραμμή που περιέχει τις επικεφαλίδες στηλών, οι οποίες δεν πρέπει να εισαχθούν στον πίνακα, επομένως την αγνοούμε καθορίζοντας την επιλογή IGNORE 1 LINES.