PythonQ 240-8XX Instrukcja Użytkownika Strona 472

  • Pobierz
  • Dodaj do moich podręczników
  • Drukuj
  • Strona
    / 768
  • Spis treści
  • BOOKMARKI
  • Oceniono. / 5. Na podstawie oceny klientów
Przeglądanie stron 471
Kapitel 7: MySQL-Sprachreferenz 451
mysql> LOAD DATA INFILE "/tmp/datei.txt" into Tabelle test IGNORE 1 LINES;
Wenn Sie SELECT ... INTO OUTFILE zusammen mit LOAD DATA INFILE benutzen, um Daten
aus einer Datenbank in eine Datei zu schreiben und dann die Datei sp¨ater zur¨uck in die
Datenbank zu lesen, m¨ussen die Optionen f¨ur die Behandlung von Feldern und Zeilen f¨ur
beide Befehle ¨ubereinstimmen. Ansonsten interpretiert LOAD DATA INFILE die Inhalte der
Datei nicht korrekt. Angenommen, Sie benutzen SELECT ... INTO OUTFILE, um eine Datei
zu schreiben, deren Feldern durch Kommas begrenzt sind:
mysql> SELECT * INTO OUTFILE ’daten.txt’
FIELDS TERMINATED BY ’,’
FROM ...;
Um die Komma-begrenzte Datei wieder einzulesen, lautet das korrekte Statement:
mysql> LOAD DATA INFILE ’daten.txt’ INTO TABLE tabelle2
FIELDS TERMINATED BY ’,’;
Wenn Sie statt dessen versuchen, die Datei mit dem unten stehenden Statement einzule-
sen, funktioniert das nicht, weil es LOAD DATA INFILE anweist, nach Tabulatoren zwischen
Feldern zu suchen:
mysql> LOAD DATA INFILE ’daten.txt’ INTO TABLE tabelle2
FIELDS TERMINATED BY ’\t’;
Das wahrscheinliche Ergebnis ist, dass jede Eingabezeile als ein einzelnes Feld interpretiert
wird.
LOAD DATA INFILE kann auch benutzt werden, um Dateien aus externen Quellen einzulesen.
Eine Datei im dBASE-Format zum Beispiel hat Felder, die durch Kommas getrennt und in
Anf¨uhrungszeichens eingeschlossen sind. Wenn Zeilen in der Datei von Neue-Zeile-Zeichen
begrenzt sind, zeigt der unten stehende Befehl die Feld- und Zeilen-Handhabungsoptionen,
die f¨ur das Laden der Datei benutzt werden:
mysql> LOAD DATA INFILE ’daten.txt’ INTO TABLE tabelle
FIELDS TERMINATED BY ’,’ ENCLOSED BY ’"’
LINES TERMINATED BY ’\n’;
Jede der Feld- o der Zeilen-Handhabungsoptionen kann eine leere Zeichenkette angeben (’’).
Wenn nicht leer, m¨ussen die FIELDS [OPTIONALLY] ENCLOSED BY- und FIELDS ESCAPED BY-
Werte ein einzelnes Zeichen sein. Die FIELDS TERMINATED BY- und LINES TERMINATED BY-
Werte onnen aus mehr als einem Zeichen bestehen. Um zum Beispiel Zeilen zu schreiben,
die durch Wagenr¨ucklauf-Neue-Zeile-Paare getrennt sind, oder um eine Datei einzulesen,
die solche Zeilen enth¨alt, geben Sie eine LINES TERMINATED BY ’\r\n’-Klausel an.
Um beispielsweise eine Datei mit Witzen einzulesen, die durch %% getrennt sind, onnen Sie
folgendes eingeben:
create table witze (a int not null auto_increment primary key, witz text not null);
load data infile "/tmp/witze.txt" into table witze fields terminated by "" lines terminated by "\n%%\n" (witz);
FIELDS [OPTIONALLY] ENCLOSED BY steuert die Art von Anf¨uhrungszeichen von Feldern.
Wenn Sie bei der Ausgabe (SELECT ... INTO OUTFILE) das Wort OPTIONALLY auslassen,
sind alle Felder vom ENCLOSED BY-Zeichen eingeschlossen. Ein Beispiel einer solchen Aus-
gabe (mit Kommas als Feldbegrenzern) ist unten dargestellt:
"1","eine Zeichenkette","100.20"
"2","eine Zeichenkette, die ein Komma (,) enth¨alt","102.20"
Przeglądanie stron 471
1 2 ... 467 468 469 470 471 472 473 474 475 476 477 ... 767 768

Komentarze do niniejszej Instrukcji

Brak uwag