MySQL Database Import - Recovery Methods

Det er to enkle måter i MySQL til å laste inn data i MySQL database fra en tidligere sikkerhetskopiert fil

Importere data med LOAD DATA:.

MySQL gir en LOAD DATA uttalelse som fungerer som en bulk data loader. Her er et eksempel utsagn som leser en fil dump.txt fra din nåværende katalog og laster det inn i tabellen mytbl i den gjeldende databasen:
mysql > LOAD DATA LOKAL INFILE 'dump.txt' INTO TABLE mytbl;

Hvis LOKAL nøkkelordet ikke er til stede, ser MySQL for datafile på serveren verten ved hjelp ute i absolutt banenavn fullt angir plasseringen av filen, som begynner fra roten av filsystemet. MySQL leser filen fra gitt sted.

  • Som standard LOAD DATA forutsetter at datafiler inneholder linjer som er avsluttet av linefeeds (linjeskift), og at dataverdier innenfor en linje er atskilt med faner .

    Hvis du vil angi et filformat eksplisitt, bruk en FIELDS klausul for å beskrive egenskapene til felt innenfor en linje, og en LINES klausul for å angi line-ending sekvens. Følgende LOAD DATA uttalelse presiserer at datafilen inneholder verdier atskilt med kolon og linjer avsluttet av linjeskiftet og ny linje karakter:
    mysql > LOAD DATA LOKAL INFILE 'dump.txt' INTO TABLE mytbl - > Felter avsluttet med ':' - > LINES avsluttet med '\\ r \\ n';

    LOAD DATA foruts kolonnene i datafile har samme rekkefølge som kolonnene i tabellen. Hvis det ikke er sant, kan du angi en liste for å indikere hvilken tabell kolonner datafilen kolonnene skal legges inn. Anta at tabellen har kolonner a, b, og c, men påfølgende kolonnene i datafilen tilsvarer kolonner b, c, og en. Du kan laste ned filen som dette:
    mysql > LOAD DATA LOKAL INFILE 'dump.txt' - > INTO TABLE mytbl (b, c, a);
    Importere data med mysqlimport

    MySQL inneholder også et hjelpeprogram som heter mysqlimport
    som fungerer som en wrapper rundt laste data, slik at du kan laste innspill filer direkte fra kommandolinjen.

    For å laste en data fra dump.txt inn mytbl, bruk følgende kommando ved UNIX teksten
    $ mysqlimport -u root -p --local database dump.txtpassword *****

    . Hvis du bruker mysqlimport, kommandolinjealternativer gi formatet bransjen. mysqlimport kommandoer som svarer til de to foregående belastningsdata uttalelser ser slik ut:
    $ mysqlimport -u root -p --local --fields-avsluttet-by = ":" \\ --lines-avsluttet-by = "\\ r \\ n "database dump.txtpassword *****

    I hvilken rekkefølge du angir alternativene spiller ingen rolle for mysqlimport, bortsett fra at de bør alle gå forut for databasenavn.

    mysqlimport
    uttalelse bruker --columns mulighet til å angi rekkefølge kolonnen:
    $ mysqlimport -u root -p --local --columns = b, c, a \\ database dump.txtpassword *****
    Håndtering Kurser og spesialtegn:

    FELT klausulen kan angi andre format alternativer i tillegg sies opp av. Som standard antar LOAD DATA at verdiene er unotert og tolker backslash (\\) som en flukt karakter for spesialtegn. Å indikere verdien sitere karakter eksplisitt, bruke omsluttet av; MySQL vil stripe det tegnet fra endene av dataverdier under innspill behandling. For å endre standard flukt karakter, bruk unnslapp ved.

    Når du angir omsluttet av å indikere at anførselstegn bør fjernes fra dataverdier, er det mulig å ta med anførselstegn bokstavelig innen dataverdier ved å doble den eller ved foregående det med escape-tegnet. For eksempel, hvis sitat og rømme tegnene er "og \\, inngangsverdien" a "" b \\ "c" vil bli tolket som en "b" c.

    For mysqlimport, den tilsvarende kommandolinje alternativer for å oppgi sitat og rømme verdier er --fields kabin-by og --fields-escaped-by.