Ultimo aggiornamento del 26 febbraio 2020 08:08:23 (UTC/GMT +8 ore)
LOAD statement
MySQL LOAD statement popola una tabella.
Supponiamo che l’utente abbia un file .txt di nome ‘pub.txt’ in una cartella propria, contenente 1 record per riga e separato da tabulazioni e disposto in ordine come le colonne elencate nella tabella. Si può usare l’istruzione LOAD per popolare la tabella. Per i valori mancanti, l’utente può usare valori NULL e questo dovrebbe essere rappresentato da ‘\N’ nel file di testo.
Sintassi:
LOAD DATA LOCAL INFILE '' INTO TABLE ;
Argomenti
Nome | Descrizione |
---|---|
Path | L’indirizzo del file. |
Nome_file | Il nome del file .txt. |
Nome_tabella | La tabella dove verranno caricati i dati. |
Esempio:
Nel seguente codice, il contenuto del file di testo pub.txt sarà caricato nella tabella degli editori.
Il percorso del file dovrebbe essere menzionato.
Il file di testo contiene la riga come –
P002<tab>BPP Publication<tab>Mumbai<tab>India<tab>New Delhi<tab><tab>1985-10-01
Codice:
LOAD DATA LOCAL INFILE 'pub.txt' INTO TABLE publisher;
Tabella d’esempio: publisher
Dichiarazione LOAD MySQL con terminatore di riga
Le dichiarazioni LOAD MySQL con ‘\r\n’ come terminatore di riga possono anche essere usate per popolare una tabella.
Esempio:
Il seguente codice caricherà i record dal file pub.txt nella tabella degli editori. Il ‘\r\n’ può essere usato come terminatore di riga.
Il file di testo contiene la riga come –
P002<tab>BPP Publication<tab>Mumbai<tab>India<tab>New Delhi<tab><tab>1985-10-01\r\n
Tabella di esempio: publisher
Codice:
LOAD DATA LOCAL INFILE 'path/pub.txt' INTO TABLE publisherLINES TERMINATED BY \r\n ;
MySQL carica i dati in una tabella con l’istruzione insert
Per inserire nuovi record in una tabella si può usare l’istruzione INSERT. I valori saranno forniti dall’utente nello stesso ordine in cui le colonne sono elencate nella tabella. I valori delle stringhe e delle date devono essere specificati all’interno di una stringa virgolettata.
Sintassi
INSERT INTO <table_name> values(value1,value2,....);
Argomenti
Nome | Descrizione |
---|---|
Nome_tabella | Nome della tabella. |
valore1,valore2,… | Valori che saranno inseriti nella sequenza di colonne. |
Esempio:
L’istruzione seguente inserisce una riga nella tabella ‘publisher’ che contiene i valori secondo la sequenza delle colonne.
Tabella d’esempio: publisher
Codice:
INSERT INTO publisher values(‘P010’,’ Novel Publisher Ltd.’,’ mumbai’,’ India’,’ hydrabad’);
MySQL importa dati da csv usando LOAD DATA INFILE
È possibile importare dati da un file CSV in una tabella MySQL. Ecco la struttura della tabella MySQL e il CSV
Struttura della tabella MySQL:
Sample Output:
MySQL> describe std;+--------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+--------+-------------+------+-----+---------+-------+| rollno | int(11) | NO | PRI | NULL | || class | varchar(15) | YES | | NULL | || name | varchar(45) | YES | | NULL | |+--------+-------------+------+-----+---------+-------+3 rows in set (0.01 sec)
Dettagli del file CSV (book1.csv) :
NAME,CLASS,ROLLNO
David,V,9
Subir,Vii,12
Taniya,VI,10
Anish,V,14
Sample Output:
MySQL> LOAD DATA LOCAL INFILE 'book1.csv' INTO table std FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES (name, class, rollno);Query OK, 4 rows affected (0.04 sec)Records: 4 Deleted: 0 Skipped: 0 Warnings: 0MySQL> SELECT * FROM std;+--------+-------+--------+| rollno | class | name |+--------+-------+--------+| 9 | V | David || 10 | VI | Taniya || 12 | Vii | Subir || 14 | V | Anish |+--------+-------+--------+4 rows in set (0.00 sec)
Precedente: MySQL DATABASE
Prossimo: MySQL avanza creando la tabella MySQL Constraints