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

Come esportare dati da Microsoft SQL Server in un file CSV

Quando si lavora con i dati e i database, è comune esportare i dati per un'ulteriore elaborazione o per il trasporto in un altro database. Seguite questo articolo per imparare a esportare i dati da Microsoft SQL Server in un file CSV.

In questo articolo ricordiamo innanzitutto cos'è un file CSV e perché si desidera esportare dati in questo formato da un database MS SQL Server. Poi passiamo al sodo ed esportiamo i dati in un file CSV utilizzando sia SQL Server Management Studio (SSMS) che SQL Command Line (SQLCMD).

Prima di iniziare, vi invitiamo a installare il database di Microsoft SQL Server e MS SQL Server Management Studio, in modo da poterlo seguire.

Date un'occhiata al nostro corso su SQL per principianti in MS SQL Server, che tratta i concetti di base di T-SQL, tra cui l'interrogazione e l'aggregazione dei dati, JOIN, le subquery e altro ancora.

Iniziamo.

Un rapido ripasso del file CSV

CSV sta per valori separati da virgole. Il nome rivela molte cose. Un file CSV è un file di testo semplice che memorizza i dati in formato tabellare.

Ogni riga di un file CSV rappresenta una riga di dati. I valori all'interno di ogni riga di dati sono separati, di solito da una virgola, come indica il nome del formato CSV. Ma si possono usare anche altri separatori, come il punto e virgola o la tabulazione.

È opinione diffusa che la prima riga di un file CSV contenga le intestazioni delle colonne, mentre le righe successive contengono i dati. Vediamo un esempio di tabella di database e un file CSV corrispondente.

Ecco la tabella:

Employee_IdFirst_NameLast_NameEmailPhonePositionSalary
1ClaireBrownclaire@zoo.com123123123Manager4000
2JamesAndersonjames@zoo.com456456456Caretaker3500
3JessicaDowsonjessica@zoo.com789789789Assistant3500

Ed ecco il file CSV corrispondente:

Employee_Id,First_Name,Last_Name,Email,Phone,Position,Salary
1,Claire,Brown,claire@zoo.com,123123123,Manager,4000
2,James,Anderson,james@zoo.com,456456456,Caretaker,3500
3,Jessica,Dowson,jessica@zoo.com,789789789,Assistant,3500

I file CSV sono i file più semplici per memorizzare e trasferire grandi quantità di dati. Continuate a leggere per capire perché i file CSV sono così importanti quando si lavora con i dati e i database.

Perché esportare i dati da Microsoft SQL Server in un file CSV?

Ci sono molte ragioni per esportare i dati da Microsoft SQL Server in un file CSV. Elenchiamo alcune delle cose più comuni che si possono fare con i dati esportati.

  • È possibile trasferire i dati sotto forma di file CSV a un altro database. Importare un file CSV in un database è facile come esportarlo!
  • È possibile caricare un file CSV su vari strumenti software, come un foglio di calcolo o uno strumento di reporting, per un'ulteriore elaborazione.
  • Il formato CSV consente di analizzare i dati offline.
  • È possibile creare grafici e diagrammi sulla base dei dati contenuti in un file CSV.
  • Il formato CSV non implica regole complicate per la memorizzazione dei dati. Permette di creare facilmente qualsiasi tipo di rapporto.

Iniziamo a esportare i dati!

Esportazione di dati da Microsoft SQL Server in un file CSV

Il database Microsoft SQL Server dispone di un'interfaccia grafica (GUI) e di uno strumento a riga di comando. L'interfaccia grafica si chiama SQL Server Management Studio, o SSMS. Lo strumento a riga di comando si chiama SQLCMD.

Qui di seguito vengono illustrati i passaggi che descrivono come collegare il database ed esportare i dati utilizzando sia la GUI che gli strumenti da riga di comando.

Utilizzo di SQL Server Management Studio

Utilizziamo SQL Server Management Studio per esportare i dati in un file CSV.

Connessione al database

Una volta installato Microsoft SQL Server e SQL Server Management Studio, aprire SSMS. Viene visualizzata una finestra popup che chiede di fornire le credenziali di connessione.

Come esportare dati da Microsoft SQL Server in un file CSV

Nel menu a tendina Autenticazione, scegliere il metodo di autenticazione. Alcuni dei metodi di autenticazione più comuni sono Autenticazione Windows e Autenticazione SQL Server. In questo caso, continuiamo con l'opzione Autenticazione Windows facendo clic su Connetti.

Per maggiori dettagli sulla connessione e sull'utilizzo di SQL Server Management Studio, visitate il sito ufficiale di Microsoft qui.

Ora siamo pronti a esportare i dati!

Esportazione dei dati

SQL Server Management Studio offre la procedura guidata di importazione ed esportazione di SQL Server per esportare i dati in un file CSV.

Apriamo e lavoriamo con la procedura guidata di importazione ed esportazione di SQL Server.

Fate clic con il tasto destro del mouse sul nome del database da cui volete esportare i dati in un file CSV, scegliete Attività e quindi Esporta dati.

Come esportare dati da Microsoft SQL Server in un file CSV

Viene visualizzata una schermata di benvenuto come quella riportata di seguito. Fare clic su Avanti.

Come esportare dati da Microsoft SQL Server in un file CSV

Scegliere un'origine dati da cui esportare i dati. Fare clic su Avanti.

Come esportare dati da Microsoft SQL Server in un file CSV

Scegliere una destinazione in cui copiare i dati e fare clic su Avanti. Si noti che il file CSV non deve necessariamente esistere, poiché la procedura guidata lo crea quando si esportano i dati.

Come esportare dati da Microsoft SQL Server in un file CSV

Scegliere i dati da esportare e fare clic su Avanti. È possibile esportare una o più tabelle o specificare una query SQL per definire i dati da esportare. In questo caso, abbiamo scelto di esportare una tabella.

Come esportare dati da Microsoft SQL Server in un file CSV

Specificare una tabella da esportare e fare clic su Avanti. È inoltre possibile scegliere un delimitatore di riga (in genere un carattere di nuova riga) e un delimitatore di colonna (in genere una virgola).

Come esportare dati da Microsoft SQL Server in un file CSV

Ora siamo pronti a eseguire il processo di esportazione. Si può scegliere di salvare il pacchetto SSIS che include i componenti per l'esecuzione delle attività ETL.

Come esportare dati da Microsoft SQL Server in un file CSV

Ecco il report finale prima dell'esecuzione del processo di esportazione. Fare clic su Fine per esportare i dati in un file CSV.

Come esportare dati da Microsoft SQL Server in un file CSV

Ecco cosa si ottiene dopo l'esecuzione del processo di esportazione.

Come esportare dati da Microsoft SQL Server in un file CSV

Chiudere la finestra della procedura guidata e andare nella posizione in cui è stato salvato il file di esportazione.

Come esportare dati da Microsoft SQL Server in un file CSV

Dopo aver esportato un file CSV dal database di Microsoft SQL Server, è possibile importarlo in un altro database. Ecco come importare un file CSV in un database PostgreSQL usando PgAdmin e come importarlo in un database MySQL usando la GUI o uno strumento a riga di comando.

Utilizzo di SQLCMD

Vediamo ora come esportare un file CSV utilizzando SQLCMD.

Ecco il sito ufficiale di Microsoft sull'utilità SQLCMD. Vediamo come collegare il database ed esportare un file CSV con SQLCMD.

Connessione al database

Utilizziamo ancora una volta l'opzione Autenticazione di Windows. Ecco come si collega il database in SQLCMD:

Come esportare dati da Microsoft SQL Server in un file CSV

Utilizzate il comando sqlcmd con il parametro -S che sta per il nome del server e passate il nome del vostro computer come argomento:

sqlcmd -S DESKTOP-EU2MTDD

Successivamente, viene visualizzato il prompt 1> che indica che la connessione è avvenuta con successo.

Esportazione dei dati

Una volta stabilita la connessione, interrogare i dati che si desidera esportare.

Come esportare dati da Microsoft SQL Server in un file CSV

Uscire digitando exit al prompt. Eseguire il comando sqlcmd per esportare la tabella in un file CSV.

Come esportare dati da Microsoft SQL Server in un file CSV

Ecco il comando che utilizziamo per esportare i dati:

sqlcmd -S DESKTOP-EU2MTDD
       -Q "select * from Zoo.dbo.Zoo_Employees;"
       -o "C:\Users\Martyna\zoo_employees.csv"
       -W
       -w 1024
       -s ","
       -h-1

Analizziamolo:

  • sqlcmd è il nome del comando.
  • -S DESKTOP-EU2MTDD specifica il nome del server.
  • -Q "select * from Zoo.dbo.Zoo_Employees;" è la query che recupera i dati da esportare.
  • -o "C:\Users\Martyna\zoo_employees.csv" definisce il file che memorizza i dati esportati.
  • -W rimuove gli spazi bianchi che si vedono nell'output dello strumento della riga di comando dopo ogni valore.
  • -w 1024 definisce la lunghezza della riga nel file CSV.
  • -s "," definisce il separatore per i valori delle colonne; in questo caso, una virgola.
  • -h-1 rimuove l'intestazione.

Ed ecco i dati esportati:

Come esportare dati da Microsoft SQL Server in un file CSV

Tutto qui! Fate pure pratica con le vostre tabelle!

E adesso?

Per approfondire le vostre conoscenze, date un'occhiata al nostro corso su SQL per principianti in MS SQL Server. E se volete saperne di più, ecco i 5 migliori corsi di MS SQL Server per principianti.

Buon divertimento!