ale nazwy kolumn w csv i w tabeli bazy danych różnią się, co mam zrobić?
Żaden problem. Możesz określić, która kolumna CSV zostanie zaimportowana do której kolumny bazy danych.
Domyślnie, jeśli na końcu instrukcji LOAD DATA INFILE nie podano listy kolumn, oczekuje się, że wiersze wejściowe będą zawierać pole dla każdej kolumny tabeli. Jeśli chcesz załadować tylko niektóre kolumny tabeli, określ listę kolumn:
LOAD DATA INFILE 'persondata.txt' INTO TABLE persondata (col1,col2,...);
Kiedy uważam, że składnia INFILE jest zbyt skomplikowana, lubię używać klienta graficznego, takiego jak HeidiSQL kliknij razem w odpowiedniej kolejności kolumn (ma podgląd graficzny) i skopiuj i wklej wygenerowane zapytanie SQL.