MySQLLOAD DATA INFILE

Syntaktyka

Użycie LOAD DATA INFILE do załadowania dużej ilości danych do bazy

Patrz poniższy przykład zakładając, że masz ';'-delimited CSV do załadowania do bazy danych.

1;max;male;manager;12-7-19852;jack;male;executive;21-8-1990...1000000;marta;female;accountant;15-6-1992

Utwórz tabelę do wstawienia.

Użyj następującego zapytania, aby wstawić wartości do tej tabeli.

Rozważmy przypadek, w którym format daty jest niestandardowy.

1;max;male;manager;17-Jan-19852;jack;male;executive;01-Feb-1992...1000000;marta;female;accountant;25-Apr-1993

W tym przypadku możesz zmienić format kolumny dob przed wstawieniem w ten sposób.

Ten przykład LOAD DATA INFILE nie określa wszystkich dostępnych funkcji.

Możesz zobaczyć więcej referencji na temat LOAD DATA INFILE tutaj.

Import pliku CSV do tabeli MySQL

Następujące polecenie importuje pliki CSV do tabeli MySQL z tymi samymi kolumnami przy jednoczesnym poszanowaniu zasad cytowania i ucieczki CSV.

Wczytaj dane z duplikatami

Jeśli użyjesz polecenia LOAD DATA INFILE do wypełnienia tabeli istniejącymi danymi, często okaże się, że import nie powiedzie się z powodu duplikatów. Istnieje kilka możliwych sposobów na rozwiązanie tego problemu.

Jeśli ta opcja została włączona w twoim serwerze, może być użyta do załadowania pliku, który istnieje na komputerze klienta, a nie na serwerze. Efektem ubocznym jest to, że zduplikowane wiersze dla unikalnych wartości są ignorowane.

LOAD DATA LOCAL INFILE 'path of the file/file_name.txt' INTO TABLE employee

LOAD DATA INFILE 'fname' REPLACE

Gdy użyte jest słowo kluczowe replace, duplikaty unikalnych lub głównych kluczy spowodują, że istniejące wiersze zostaną zastąpione nowymi

Gdy użyte jest słowo kluczowe replace, duplikaty unikalnych lub głównych kluczy spowodują, że istniejące wiersze zostaną zastąpione nowymi istniejący wiersz zostanie zastąpiony nowym

LOAD DATA INFILE 'path of the file/file_name.txt' REPLACE INTO TABLE employee

LOAD DATA INFILE 'fname' IGNORE

Przeciwnie do REPLACE, istniejące wiersze zostaną zachowane, a nowe zignorowane. To zachowanie jest podobne do LOCAL opisanego powyżej. Jednak plik nie musi istnieć na komputerze klienta.

LOAD DATA INFILE 'path of the file/file_name.txt' IGNORE INTO TABLE employee

Wczytaj przez tabelę pośredniczącą

Czasami ignorowanie lub zastępowanie wszystkich duplikatów może nie być idealną opcją. Być może będziesz musiał podjąć decyzje na podstawie zawartości innych kolumn. W takim przypadku najlepszą opcją jest załadowanie do tabeli pośredniczącej i przeniesienie stamtąd.

INSERT INTO employee SELECT * FROM intermediary WHERE ...

import / eksport

import

SELECT a,b,c INTO OUTFILE 'result.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM table;

Eksport

LOAD DATA INFILE 'result.txt' INTO TABLE table;

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *