MySQLLOAD DATA INFILE

Sintassi

utilizzando LOAD DATA INFILE per caricare una grande quantità di dati nel database

Considera il seguente esempio assumendo che tu abbia un CSV delimitato da ‘;’ da caricare nel tuo database.

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

Crea la tabella da inserire.

Utilizza la seguente query per inserire i valori in quella tabella.

Considera il caso in cui il formato della data non è standard.

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

In questo caso puoi cambiare il formato della colonna dob prima di inserire in questo modo.

Questo esempio di LOAD DATA INFILE non specifica tutte le caratteristiche disponibili.

Puoi vedere altri riferimenti su LOAD DATA INFILE qui.

Importa un file CSV in una tabella MySQL

Il seguente comando importa file CSV in una tabella MySQL con le stesse colonne rispettando le regole di citazione ed escaping CSV.

Caricare dati con duplicati

Se usi il comando LOAD DATA INFILE per popolare una tabella con dati esistenti, troverai spesso che l’importazione fallisce a causa di duplicati. Ci sono diversi modi possibili per superare questo problema.

Se questa opzione è stata abilitata nel vostro server, può essere usata per caricare un file che esiste sul computer client piuttosto che sul server. Un effetto collaterale è che le righe duplicate per valori unici vengono ignorate.

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

Caricamento dati INFILE ‘fname’ REPLACE

Quando viene usata la parola chiave replace le chiavi uniche o primarie duplicate risulteranno nella riga esistente verrà sostituita con una nuova

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

LOAD DATA INFILE ‘fname’ IGNORE

Il contrario di REPLACE, le righe esistenti saranno conservate e quelle nuove ignorate. Questo comportamento è simile a LOCAL descritto sopra. Tuttavia il file non deve necessariamente esistere sul computer client.

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

Caricamento tramite tabella intermedia

A volte ignorare o sostituire tutti i duplicati può non essere l’opzione ideale. Potrebbe essere necessario prendere decisioni basate sul contenuto di altre colonne. In questo caso l’opzione migliore è caricare in una tabella intermedia e trasferire da lì.

INSERT INTO employee SELECT * FROM intermediary WHERE ...

importare / esportare

importare

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

Esportare

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

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *