Importare un file di testo in un database

From RVM Wiki
Jump to navigation Jump to search

Premessa

Non è possibile importare direttamente da un file testo in una tabella già esistente.

E' necessario creare una tabella vuota:

CREATE TABLE db2;

Caricamento con comando SQL

Si utilizza il comando LOAD DATA INFILE

mysql> USE db1;
mysql> LOAD DATA INFILE 'data.txt' INTO TABLE db2.my_table;

Con questo comando è possibile anche specificare il formato di importazione e definire un nome diverso per la tabella di importazione, cos' come esiste la possibilità di esportare un atabella direttamente in un file testo.

Vedere MySQL Reference Manual :: 13.2.5 LOAD DATA INFILE Syntax

Importazione da shell

Si usa il programma mysqlimport.

Creare la tabella di appoggio:

mysql -e 'CREATE TABLE imptest(id INT, n VARCHAR(30))' test

Caricare il file:

mysqlimport --delete -v --fields-terminated-by=';' --local test imptest.txt
test.imptest: Records: 2  Deleted: 0  Skipped: 0  Warnings: 0

Vedere MySQL Reference Manual :: 8.10 mysqlimport — A Data Import Program per come definire il formato di importazione del file testo.

MySQL Reference Manual :: 13.2.5 LOAD DATA INFILE Syntax

MySQL Reference Manual :: 8.10 mysqlimport — A Data Import Program