Torna all'elenco degli articoli Articoli
Tempo di lettura: 6 minuti

Come esportare i dati da MySQL in un file CSV

Un database è una piattaforma primaria per lavorare con i dati e memorizzarli. Ma spesso è necessario portare i dati fuori dal database. Continuate a leggere per scoprire come esportare i dati dal database MySQL in un file CSV.

In questo articolo vi mostreremo come esportare i dati in un file CSV. Inizieremo introducendo cos'è un file CSV e perché lo usiamo. Poi esporteremo i dati da un database MySQL in un file CSV. È possibile farlo in due modi: utilizzando un prompt della riga di comando o un'interfaccia grafica (GUI).

Prima di iniziare, assicuratevi di aver installato un database MySQL sul vostro PC. Per iniziare, date un'occhiata al nostro corso su SQL Basics in MySQL per imparare o rivedere i comandi principali di MySQL. Per saperne di più sui nostri corsi MySQL, cliccate qui.

Iniziamo.

Un file CSV: cos'è e perché lo usiamo

CSV è l'acronimo di "Comma-Separated Values". Un file CSV è un file di testo che memorizza dati tabellari. Ogni riga di un file CSV rappresenta una riga di una tabella. I valori delle colonne sono solitamente separati da una virgola (da qui il nome " valori separati da virgole"), ma è possibile utilizzare altri separatori, come il punto e virgola o la tabulazione. In genere, la prima riga di un file CSV contiene le intestazioni delle colonne e le righe successive contengono i dati.

Vediamo un esempio di tabella di database e il file CSV creato da essa.

Ecco una tabella:

IdFirstNameLastNameSSN
35JonathanGlover111222333
36JenniferBrown444555666
37ChristopherWatson777888999

Ed ecco il file CSV corrispondente:

Id,FirstName,LastName,SSN
35,Jonathan,Glover,111222333
36,Jennifer,Brown,444555666
37,Christopher,Watson,777888999

È così semplice!

Rispondiamo ora alla domanda sul perché utilizzare un file CSV. Un file CSV è il modo più semplice ed efficiente per spostare i dati tra i database; questo formato di file è compatibile con qualsiasi database relazionale. Richiede poco spazio (a seconda della quantità di dati, ovviamente) e può essere convertito in quasi tutti i formati di file compatibili con il sistema per un'ulteriore elaborazione.

Ecco alcuni esempi di quanto siano essenziali i semplici file CSV. Si possono usare per:

  • Esportare dati da un database MySQL per una successiva elaborazione con un altro strumento.
  • Spostare i dati da un database a un altro senza problemi di compatibilità.
  • Importare dati in un database.

In questo articolo ci concentriamo sull'esportazione di dati da un database MySQL. Continuate a leggere per scoprire cosa potete fare con i dati esportati.

Perché esportare i dati da un database MySQL in un file CSV?

Rispondiamo alla domanda sul perché esportare i dati da un database MySQL, o da qualsiasi altro database, in un file CSV.

Dopo aver esportato i dati in un file CSV, è possibile:

  • Trasferire i dati a un altro database importando un file CSV.
  • Caricare un file CSV in diversi strumenti software per un'ulteriore elaborazione, come un foglio di calcolo o uno strumento di reporting.
  • Analizzare i dati offline.
  • Creare un grafico o un diagramma basato sui dati del file CSV.
  • Inserire i dati nei report.

Ora è il momento di vedere come si fa in MySQL.

Esportazione di dati da un database MySQL in un file CSV

Ecco una guida passo passo su come collegarsi a un database MySQL tramite uno strumento a riga di comando o un'interfaccia grafica (GUI) e su come esportare i dati in un file CSV.

Se volete fare pratica con noi, installate il database MySQL sul vostro PC per seguire i passaggi!

Uso della riga di comando

Connessione al database

È possibile connettersi a un database MySQL utilizzando un semplice prompt dei comandi come questo:

Come esportare i dati da MySQL in un file CSV

Per farlo, utilizzate il seguente comando:

mysql --host=localhost --user=username --password

Dopodiché, inserite la vostra password:

Enter password: *******

E la connessione è fatta!

Esportazione dei dati

Ora esportiamo i dati in un file CSV. Ecco la tabella che verrà esportata:

Come esportare i dati da MySQL in un file CSV

Ecco come esportare i dati da MySQL in un file CSV utilizzando uno strumento a riga di comando:

Come esportare i dati da MySQL in un file CSV

Per farlo, utilizzate un'istruzione SELECT per selezionare i dati da esportare e, alla fine, definite un file per memorizzare i dati esportati:

SELECT *
FROM data.employees
INTO OUTFILE 'employees.csv';

Se si utilizza Windows, il file CSV è probabilmente disponibile in C:\ProgramData\MySQL\MySQL Server 8.0\Data.

Proviamo a esportare i dati che richiedono una query leggermente più complicata per essere recuperati dal database. Ecco la tabella che verrà esportata:

Come esportare i dati da MySQL in un file CSV

Ecco come esportare i dati da MySQL in un file CSV utilizzando la riga di comando:

Come esportare i dati da MySQL in un file CSV

È analogo all'esportazione precedente. Si definisce un'istruzione SELECT e un file per memorizzare i dati esportati:

SELECT e.Id, e.FirstName, e.LastName, e.SSN, ea.Street, ea.ZipCode,
       ea.City, ea.State, ea.Country
FROM data.employees e
JOIN data.employees_address ea
ON e.Id=ea.Id
INTO OUTFILE 'employees_addresses.csv';

INTO OUTFILE 'employees_addresses.csv';

Anche in questo caso, se si utilizza Windows, il file CSV è probabilmente disponibile in C:\ProgramData\MySQL\MySQL Server 8.0\Data.

Provate a esportare altre tabelle di dati usando lo strumento da riga di comando!

Utilizzo dell'interfaccia grafica

Connessione al database

Colleghiamoci a MySQL utilizzando la sua interfaccia grafica (GUI), MySQL Workbench.

MySQL Workbench consente di collegarsi a qualsiasi database facendo clic sul segno + accanto a MySQL Connections nella pagina iniziale. Si apre una finestra che richiede di fornire i dettagli della connessione, come il nome della connessione, il metodo di connessione, l'hostname, la porta, il nome utente e la password.

Come esportare i dati da MySQL in un file CSV

Una volta inseriti i dettagli della connessione, è possibile testarla facendo clic sul pulsante Test Connection.

Dopo un test riuscito, viene visualizzato questo messaggio:

Come esportare i dati da MySQL in un file CSV

Esportazione dei dati

Ora esportiamo i dati in un file CSV. Ecco la tabella che verrà esportata:

Come esportare i dati da MySQL in un file CSV

Ecco come esportare i dati da MySQL in un file CSV utilizzando la GUI di MySQL Workbench:

  1. Cliccate con il tasto destro del mouse sulla tabella da esportare e scegliete Table Data Export Wizard.
Come esportare i dati da MySQL in un file CSV
  1. Definire i dati che si desidera esportare, come colonne, offset di riga (numero di righe esportate contate dal basso), conteggio (numero di righe esportate contate dall'alto).
Come esportare i dati da MySQL in un file CSV
  1. Definire il percorso del file, il formato del file (qui, csv), il separatore di riga(LF, CR o CR LF, a seconda del sistema operativo), il carattere in cui racchiudere i valori delle stringhe e il separatore valore/campo.
Come esportare i dati da MySQL in un file CSV
  1. Ecco il riepilogo delle attività di esportazione:
Come esportare i dati da MySQL in un file CSV
  1. Se l'esportazione è riuscita, viene visualizzato questo messaggio:
Come esportare i dati da MySQL in un file CSV
  1. E la schermata finale:
Come esportare i dati da MySQL in un file CSV

Il file esportato è in attesa nella posizione definita.

Come esportare i dati da MySQL in un file CSV

Proviamo a esportare dati che richiedono una query un po' più complicata per essere recuperati dal database. Per usare l'Esportazione guidata dati tabella, dobbiamo prima creare una vista usando la nostra query complessa e poi esportare questa vista.

Per prima cosa, creiamo la vista:

CREATE VIEW data.employees_addresses AS (
SELECT e.Id, e.FirstName, e.LastName, e.SSN, ea.Street, ea.ZipCode,
       ea.City, ea.State, ea.Country
FROM data.employees e
JOIN data.employees_address ea
ON e.Id=ea.Id);

Ora possiamo esportare questa vista utilizzando l'Esportazione guidata dati tabella, come prima, per ottenere il file CSV.

Come esportare i dati da MySQL in un file CSV Come esportare i dati da MySQL in un file CSV

Il processo di importazione è più facile da eseguire utilizzando l'interfaccia grafica. Tuttavia, il processo di esportazione è più facile da eseguire utilizzando uno strumento a riga di comando. Consultate il nostro articolo su come importare un file CSV in un database MySQL per vedere come eseguire il processo inverso!

Esportiamo alcuni dati!

Ora sapete come esportare i dati da MySQL in un file CSV. E se avete seguito l'articolo collegato su come importare un file CSV in MySQL, conoscete anche il processo di importazione. Ma questo vale solo per MySQL!

Per conoscere i processi di esportazione e importazione dei dati in altri motori di database, vi invitiamo a consultare i nostri articoli su come importare file CSV in PostgreSQL utilizzando PgAdmin e su come esportare file CSV da Microsoft SQL Server utilizzando sia un'interfaccia grafica che uno strumento a riga di comando.

Buon divertimento!