MySQL bruger "Indsæt" og " indlæse data " erklæringer for at indsætte poster i en database tabel. "Indsæt " erklæring indlæser én post ad gangen, mens de " LOAD DATA " erklæring importerer data fra en ekstern tekstfil. Den " indlæse data " erklæring hurtigt læser tekstfilen linje for linje , som gør det meget hurtigere end en "Indsæt" , når du lægger flere poster på én gang. Oprettelse af Tekstfil
Hver linje i tekstfilen skal svare til en post ( række) i tabellen. Værdierne for hver kolonne skal adskilles af en fane og eventuelle Null ( mangler) værdier skal være repræsenteret ved "\\ n" betegnelse.
For eksempel, hvis du har en tabel, der indeholder adresser med kolonnenavne bliver fname , lname , staddress , zip , ville du oprette følgende tekstfil og gemme det som " addresses.txt "
Kris Miller 301 Anywhere St 17598Steve Fetterhoff 305 St. Elsewhere Ave 17989James Smith 623 Kensington Ct 98.539 < br >
filen skal være med kolonnerne i den samme position , som de er i tabellen. Hvis du er usikker på kolonnen layout, kan du skrive kommandoen "Beskriv tabelnavn ; " . Erstat " tabelnavn " med navnet på tabellen.
Loading Data
For at indlæse data i tabellen , skal du først oprette forbindelse til MySQL-serveren , og vælg den korrekte database. Når du kommer til " mysql >" prompt , vil du skrive følgende kommando:
LOAD DATA LOCAL INFILE ' /home /user /address.txt ' INTO TABLE adresse
nøjagtige sti til filen skal angives efter ordet " INFILE ", og være omgivet af enkelte anførselstegn. Ovenstående eksempel viser en Linux /Unix vej, ville vejen for en Windows-maskine være noget lignende " C: . \\ Documents and Settings \\ bruger \\ address.txt " Også, hvis filen blev oprettet af en Windows- text editor, skal du angive \\ r \\ n linjeterminatoren i LOAD DATA kommandoen med følgende syntaks:
LOAD DATA LOCAL INFILE ' /home /user /adresse . txt ' INTO TABEL adresse LINES opsiges af ' \\ r \\ n ";
Når " mysql > " prompt afkast , kan du tjekke , at dine data blev indlæst korrekt med følgende forespørgsel : Hej
SELECT * FROM adresse .
Denne forespørgsel vil vende tilbage med det komplette rekord sat til " adresse "-tabellen formateres, i rækker og kolonner
LOAD DATA Options < br >
LOAD dATA erklæring har nogle muligheder, som vil tillade dig at bruge en alternativ format til din tekstfil og håndtere import af data. Eksemplet ovenfor anvender "LOCAL " valgmulighed . Denne mulighed står til at kigge på klientmaskinen for filen. Hvis du forbinder til en ekstern MySQL server og udelader "LOCAL " valgmulighed , skal filen være placeret på MySQL -serveren og vil blive læst direkte fra serveren .
"Erstat " valgmulighed siger at erstatte rækker med den samme primære nøgle som rækken i filen . En primær nøgle er den værdi, der entydigt identificerer hver post i en tabel . Den " IGNORER " valgmulighed siger at springe nogen rækker, duplikere en eksisterende række, baseret på den primære nøgle. Disse to muligheder er udpeget efter filnavnet , og før ordet "til" såsom:
LOAD DATA LOCAL INFILE ' /home /user /address.txt ' REPLACE INTO TABLE adresse
du kan også angive , at felterne vil blive adskilt af et andet tegn end en fane , såsom en kommasepareret fil (CSV) , med " oMRÅDER opsiges af " valgmulighed. Denne indstilling er angivet efter tabelnavnet med følgende syntaks :
LOAD DATA LOCAL INFILE ' /home /user /address.txt ' REPLACE INTO TABEL adresse felter opsiges af ',' ;
du kan finde flere muligheder, der kan anvendes af "LOAD INTO " erklæring i MySQL brugerdokumentation (se Resources).