Istället för att skriva ett skript för att hämta information från en CSV-fil kan du länka MYSQL direkt till den och ladda upp informationen med hjälp av följande SQL-syntax.
För att importera en Excel-fil till MySQL, exportera den först som en CSV-fil. Ta bort CSV-rubrikerna från den genererade CSV-filen tillsammans med tomma data som Excel kan ha lagt i slutet av CSV-filen.
Du kan sedan importera den till en MySQL-tabell genom att köra:
load data local infile 'uniq.csv' into table tblUniq fields terminated by ','
enclosed by '"'
lines terminated by '\n'
(uniqName, uniqCity, uniqComments)
som läst:Importera CSV-fil direkt till MySQL
REDIGERA
För ditt fall måste du först skriva en tolk, för att hitta den första raden och tilldela dem som kolumnnamn.
EDIT-2
Från MySQL docs på LOAD DATA
syntax
:
IGNORE number LINES
alternativet kan användas för att ignorera rader i början av filen. Till exempel kan du användaIGNORE 1 LINES
för att hoppa över en första rubrikrad som innehåller kolumnnamn:LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test IGNORE 1 LINES;
Därför kan du använda följande uttalande:
LOAD DATA LOCAL INFILE 'uniq.csv'
INTO TABLE tblUniq
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(uniqName, uniqCity, uniqComments)