MySQL använder " INSERT " och " DATA Load" uttalanden för att infoga poster i en databastabell . "Infoga " uttalande laddar en post i taget , medan de " LADDA DATA " uttalande importerar data från en extern textfil . Den " LOAD DATA " uttalandet lyder snabbt linjen textfil linje vilket gör det mycket snabbare än en " INSERT " när du fyller flera poster samtidigt . Skapa textfil
Varje rad i textfilen måste motsvara en post ( rad ) i tabellen . Värdena för varje kolumn ska avgränsas med en flik och eventuella null ( saknas) värden ska representeras av " \\ N " beteckning . ,
Till exempel om du har en tabell som innehåller adresser med kolumnnamn som fname , lname , staddress , zip , skulle du ställa in följande textfil och spara den som " addresses.txt "
Kris Miller 301 Anywhere St 17598Steve Fetterhoff 305 St Elsewhere Ave 17989James Smith 623 Kensington Ct 98.539
filen måste vara med kolumnerna i samma position som de är i tabellen . Om du är osäker på kolumnlayouten , kan du skriva kommandot " DESCRIBE tablename ; " . Ersätt " tabellnamn " med namnet på tabellen .
Laddar Data
att ladda data i tabellen , måste du först ansluta till MySQL-servern , och välja rätt databas . När du når " mysql > " prompt , kommer du skriva följande kommando :
LOAD DATA LOCAL INFILE ' /home /user /address.txt " INTO TABLE adress ,
exakta sökvägen att filen ska anges efter orden " INFILE " och vara inom enkla citattecken . Exemplet ovan visar en Linux /Unix sökväg är sökvägen till en Windows-maskin är något som " C: . \\ Documents and Settings \\ användarnamn \\ address.txt " Även om filen skapades av en Windows textredigerare , ska du ange \\ r \\ n linjeenheten i LADDA DATA -kommandot med följande syntax :
LOAD DATA LOCAL INFILE ' /home /user /adress . txt " i rader tABELL adress avslutas med " \\ r \\ n " ;
När " mysql > " snabba avkastning , kan du kontrollera att dina data laddades korrekt med följande fråga :
SELECT * FROM adress , .
Denna fråga kommer att återkomma med en fullständig rekord för " adress " tabellen formateras i rader och kolumner
lastdata Options
lastdata uttalandet har några alternativ som gör att du kan använda ett annat format för din textfil och hantera import av data . Exemplet , ovan använder " LOKAL " alternativet. Detta alternativ säger att titta på klientdatorn för filen . Om du ansluter till en fjärr MySQL -server och utelämnar " LOCAL " alternativet , måste filen ligga på MySQL-servern och kommer att läsas direkt från servern .
" Ersätt" alternativet säger att ersätta rader med samma primärnyckeln som raden i filen . En primärnyckel är det värde som unikt identifierar varje post i en tabell . "Ignorera " alternativet säger att hoppa några rader som duplicerar en befintlig rad , baserat på den primära nyckeln . Dessa två alternativ är utsedda efter filnamnet och före ordet " till" såsom :
LOAD DATA LOCAL INFILE ' /home /user /address.txt " BYT TILL TABELL adress ;
du kan också ange att fälten skall skiljas åt med ett annat tecken än en flik , såsom en kommaseparerad fil (CSV) , med " oMRÅDEN upp av " alternativet . Detta alternativ anges efter tabellen namnet med följande syntax :
LOAD DATA LOCAL INFILE ' /home /user /address.txt ' BYT i fält TABELL adress avslutas med ' , ' ;
du kan hitta fler alternativ som kan användas med " ladda in " uttalande i MySQL användardokumentation ( se Resurser ) .