MySQL verwendet die "INSERT " und " LOAD DATA "-Aussagen , um Datensätze in einer Datenbank Tabelle einzufügen. Die "INSERT "-Anweisung lädt einen Datensatz zu einer Zeit , während die "LOAD DATA "-Anweisung importiert Daten aus einer externen Textdatei . Die "LOAD DATA "-Anweisung schnell liest die Textdatei Zeile für Zeile , die es viel schneller als ein "INSERT " macht beim Laden mehrere Datensätze auf einmal. Erstellen Sie die Textdatei
Jede Zeile der Textdatei muss zu einem Datensatz (Zeile ) in der Tabelle entsprechen . Die Werte für jede Spalte sollte durch einen Tabulator getrennt werden und alle null (fehlt) Werte müssen von der " \\ N "-Bezeichnung dargestellt werden .
Zum Beispiel, wenn Sie eine Tabelle mit Adressen mit den Spaltennamen Wohlbefinden haben fname , lname , staddress , zip, würden Sie das folgende Textdatei und speichern Sie es als " adressen.txt "
Kris Miller 301 überall St 17598Steve Fetterhoff 305 St. Elsewhere Ave 17989James Smith 623 Kensington Ct 98539
die Datei muss mit den Spalten in der gleichen Position , wie sie in der Tabelle zu entnehmen sind . Wenn Sie unsicher über die Spalten-Layout , können Sie den Befehl " DESCRIBE tabellenname "; . Ersetzen Sie " Tabellenname " mit dem Namen der Tabelle .
Laden der Daten
Um die Daten in die Tabelle zu laden , müssen Sie zunächst eine Verbindung zum MySQL -Server herstellen und wählen Sie die richtige Datenbank . Sobald Sie die " mysql> " prompt , werden Sie den folgenden Befehl ein :
LOAD DATA LOCAL INFILE ' /home /user /Address.txt ' INTO TABLE Adresse;
Der genaue Pfad zu der Datei muss nach dem Wort " INFILE " angegeben werden und in einfache Anführungszeichen eingeschlossen werden . Das obige Beispiel zeigt eine Linux /Unix Weg wäre der Weg für einen Windows-Rechner etwas wie " C: . \\ Dokumente und Einstellungen \\ user \\ Address.txt " Auch, wenn die Datei von einem Windows- Texteditor erstellt wurde , sollten Sie die \\ r \\ n Leitungsabschlusses in der LOAD DATA Befehl mit der folgenden Syntax angeben :
LOAD DATA LOCAL INFILE ' /home /user /Adresse . txt ' INTO TABLE Adresse LINES TERMINATED BY ' \\ r \\ n ' ;
Sobald die " mysql> " Eingabeaufforderung zurückkehrt , können Sie überprüfen, ob Ihre Daten korrekt mit der folgenden Abfrage geladen:
< p > SELECT * FROM-Adresse ; .
Diese Abfrage wird mit dem kompletten Datensatz für die " Adresse" Tabelle in Zeilen und Spalten formatiert zurückzugeben
LOAD DATA Optionen < br >
LOAD DATA -Anweisung hat einige Optionen , mit denen Sie ein alternatives Format für Ihren Text -Datei verwenden und behandeln Sie das Importieren von Daten . Das Beispiel oben , nutzt die "LOCAL "-Option. Diese Option sagt , auf dem Client-Rechner nach der Datei zu suchen. Wenn Sie zu einem entfernten MySQL -Server verbunden sind und lassen Sie den "LOCAL "-Option, die Datei muss auf dem MySQL -Server und werden direkt vom Server gelesen werden.
Die "Ersetzen" Option sagt der ersetzen Zeilen mit dem gleichen Primärschlüssel wie die Zeile in der Datei. Ein Primärschlüssel ist der Wert, der jeden Datensatz eindeutig identifiziert in einer Tabelle. Die "Ignorieren" Option sagt alle Zeilen, die eine bestehende Reihe, auf den Primär-Schlüssel basiert duplizieren überspringen . Diese beiden Optionen werden nach dem Dateinamen und vor dem Wort "in" wie bezeichnet :
LOAD DATA LOCAL INFILE ' /home /user /Address.txt ' INTO TABLE -Adresse zu ersetzen ;
Sie können auch festlegen, dass die Felder, die von einem anderen Zeichen als einem Tab getrennt werden , z. B. ein Komma getrennt (CSV -Datei) , mit den " fields terminated by "-Option. ; TCM-
LOAD DATA LOCAL INFILE ' /home /user /Address.txt ' INTO TABLE Adresse FIELDS BY ',' REPLACE BEENDET : Diese Option ist nach dem Tabellennamen mit folgender Syntax angegeben Hier finden Sie weitere Optionen, die von der "LOAD INTO "-Anweisung werden in der MySQL- Benutzer-Dokumentation verwendet werden können ( siehe Ressourcen).