Come esportare una tabella in CSV in MySQL

Il file CSV è un formato di file di testo molto comune che è supportato da molte applicazioni. La forma completa di CSV è Comma-Separated Values. Ciò significa che i dati sono separati da una virgola in ogni riga di questo file. È usato principalmente per scambiare dati tabulari tra diversi tipi di applicazioni che supportano questo formato di file. XML è un altro formato di file comunemente usato per lo scambio di dati tra applicazioni. Ma il file CSV è un’opzione migliore del file XML, perché richiede meno spazio e larghezza di banda di un file XML. È necessario esportare i dati in formato CSV da un’applicazione prima di importare i dati in un’altra applicazione. MySQL supporta vari modi per esportare i dati dalle tabelle del database. Il formato CSV è uno di questi. Questo articolo mostra diversi modi per esportare i dati in formato CSV dalla tabella del database MySQL.

Prequisito:

Prima di eseguire qualsiasi istruzione di esportazione, devi creare un nuovo database e tabelle o selezionare un database e tabelle esistenti. Esegui i seguenti comandi per creare un database della biblioteca e tre tabelle chiamate books, borrowers e book_borrow_info.

Esegui i seguenti comandi SQL per inserire alcuni dati nelle tre tabelle.

Ogni file esportato viene memorizzato in una posizione particolare in MySQL e la posizione è memorizzata nella variabile “secure_file_priv”. Esegui il seguente comando per scoprire il percorso del file. Questa è una variabile di sola lettura che non puoi cambiare.

SHOW VARIABLES LIKE “secure_file_priv”;

La posizione del file è ‘/var/lib/mysql-files/’. Devi usare questa posizione al momento di eseguire il comando export.

Esporta i dati in formato CSV usando l’istruzione INTO OUTFILE:

Ogni tabella di database può essere esportata usando l’istruzione INTO OUTFILE. Supponiamo che io voglia esportare i dati della tabella libri. Esegui il seguente comando per controllare i dati esistenti di questa tabella.

SELECT * FROM books;

Qualsiasi nome di file con estensione .csv può essere impostato per l’esportazione. Eseguire il seguente comando di esportazione per creare il file books.csv nella posizione, /var/lib/mysql-files/.

SELECT title, author, publisher FROM books INTO OUTFILE ‘/var/lib/mysql-files/books.csv’;

Vai alla posizione di esportazione per verificare che il file non sia stato creato. Clicca sul file per visualizzare il contenuto del file. Se la virgola esiste come contenuto di qualsiasi valore di campo della tabella, allora separerà il valore in più valori. Nella tabella dei libri, il campo editore contiene una virgola(,) come contenuto nel terzo record. Se esaminate il contenuto del file CSV vedrete che il contenuto dell’editore è separato in due valori che non sono appropriati.

Per risolvere il problema di cui sopra, potete esportare i dati della tabella libri in un file CSV specificando correttamente i delimitatori necessari nella dichiarazione SQL. Eseguite il seguente comando per esportare la tabella dei libri nel file books2.csv in modo appropriato. Qui, tre delimitatori sono usati per esportare i dati correttamente. Questi sono FIELDS TERMINATED BY, ENCLOSED BY e LINES TERMINATED BY.

Ora, se aprite il file books2.csv allora vedrete che il problema precedente è risolto in questo file e i dati virgola(,) non sono divisi in più valori.

Esporta i dati in formato CSV usando il client mysql:

I dati della tabella possono essere esportati in un file CSV usando il client mysql. The borrowers table is exported in this part of this article. Run the following command to check the existing content of this table.

SELECT * FROM borrowers;

mysql statement with `sed` command is used here to export the data. One of the benefits of this statement is that you can set any location and filename for storing the CSV file without the default location that is used in the previous example. If there is no password for the root user then -p option will be omitted. The exported location is /tmp and filename is output.csv here.

mysql -h localhost -u root -p -e ‘select * from library.borrowers’ |
sed ‘s/\t/,/g’ > /tmp/output.csv

If you open the output.csv apparirà il seguente output.

Esporta i dati in formato CSV usando phpmyadmin:

La tabella del database può essere esportata in un file CSV molto facilmente usando qualsiasi strumento amministrativo del database. Devi installare lo strumento prima di fare l’esportazione. phpmyadmin è usato qui per esportare la tabella in un file CSV. Qui, il nome del file esportato sarà il nome della tabella. Esegui il seguente URL in qualsiasi browser per visualizzare l’elenco dei database esistenti del server MySQL.

Seleziona la tabella del database che vuoi esportare e clicca sulla scheda Export dal lato destro. Seleziona il formato CSV dall’elenco a discesa Formato e clicca sul pulsante Vai. Seleziona l’opzione Salva file e premi il pulsante OK.


Il file verrà scaricato nella cartella Download. Qui viene esportata la tabella book_borrow_info. Quindi, il nome del file CSV sarà book_borrow_info.csv e il seguente contenuto apparirà se si apre il file.

Conclusione:

Il compito di scambio dati tra le applicazioni diventa più facile utilizzando la funzione di esportazione del server di database. MySQL supporta molti altri formati di file per esportare i dati delle tabelle. Il formato di file sql è usato principalmente per trasferire i dati tra gli stessi server di database. Il formato CSV è molto utile se vuoi scambiare dati tra due diverse applicazioni.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.