25th Jun 2024 Tempo di lettura: 8 minuti Come importare un file CSV in un database MySQL Martyna Sławińska sql csv Indice Informazioni sui file CSV Perché importare un file CSV in un database? Importare un file CSV in un database MySQL Importare un file CSV in MySQL con la riga di comando Collegare un database Importare un file CSV Utilizzo di una GUI MySQL Collegamento di un database Importazione di un file CSV Importiamo alcuni file CSV! I file CSV memorizzano e trasferiscono i dati tra i database. Continuate a leggere per scoprire quanto sia facile lavorare con i file CSV in un database MySQL. I file CSV sono uno dei più antichi formati di scambio dati e sono ancora molto utilizzati dai professionisti IT di vari settori. È comune che le risorse di dati online e i diversi software di database offrano il caricamento e il download dei dati in formato CSV. In questo articolo esamineremo brevemente cos'è un file CSV e come lavorarci. Imparerete a importare un file CSV in un database MySQL utilizzando uno strumento a riga di comando o un'interfaccia grafica come MySQL Workbench. Sebbene quest'ultimo sia molto più veloce e semplice, entrambi sono importanti da conoscere e mettere in pratica. Se non avete mai lavorato con un database MySQL, date un'occhiata ai nostri corsi interattivi: Il corso SQL per principianti in MySQL comprende 126 esercizi che coprono la selezione, l'interrogazione, l'aggregazione e il raggruppamento dei dati, nonché i JOIN e i metodi di ricerca. Il corso Come INSERIRE, AGGIORNARE o CANCELLARE i dati in MySQL comprende 70 esercizi in cui si inseriscono, aggiornano e cancellano i record di una tabella. Entrambi i corsi terminano con un quiz che consente di verificare quanto si è appreso. Potete anche seguire questo articolo per imparare a installare un database MySQL su un PC Windows. Non è necessario per nessuno dei due corsi, ma avere un database MySQL sul computer vi darà qualcosa su cui esercitarvi in seguito. Iniziamo quindi la nostra analisi del formato dei file CSV. Informazioni sui file CSV 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. Di solito, i valori delle colonne sono separati da una virgola (da qui il nome " valori separati da virgole"), ma è possibile utilizzare altri separatori, come un punto e virgola o una tabulazione. In genere, la prima riga di un file CSV contiene le intestazioni delle colonne e le righe successive contengono i dati. Ci si può chiedere cosa succede se un valore contiene una virgola. Viene trattato come un caso speciale: il valore viene avvolto da virgolette doppie. Ad esempio, il valore 12.34 va senza virgolette doppie, ma il valore 12,34 deve essere scritto come "12,34" per evitare che venga considerato come due valori (12 e 34) anziché uno (12,34). Vediamo un esempio di file CSV chiamato countries.csv, che in seguito importeremo nel database MySQL. id,country,population,capital 1,USA,"329,500,000",Washington D.C. 2,Canada,"38,010,000",Ottawa 3,UK,"67,220,000",London 4,Spain,"47,350,000",Madrid 5,Greenland,"56,367",Nuuk Forse non è chiaro come una tabella, ma si può sicuramente vedere lo schema. La prima riga contiene intestazioni di colonne separate da virgole, mentre le righe successive contengono valori separati da virgole. Si noti che qualsiasi valore contenente una virgola è racchiuso tra virgolette doppie. Ecco una tabella basata sul file countries.csv: idcountrypopulationcapital 1USA329,500,000Washington D.C. 2Canada38,010,000Ottawa 3UK67,220,000London 4Spain47,350,000Madrid 5Greenland56,367Nuuk Perché importare un file CSV in un database? I file CSV utilizzano un semplice formato di testo per memorizzare i dati. I database relazionali e i file CSV sono stati sviluppati per la prima volta negli anni Settanta. Da allora, i file CSV sono stati utilizzati per trasferire dati tra database. È possibile esportare dati in formato CSV da un database e importarli in questo formato in un altro database (ad esempio per ulteriori elaborazioni e analisi). Inoltre, diverse risorse di dati online e strumenti di database offrono la possibilità di caricare e scaricare dati in formato CSV. Pertanto, il CSV è un formato di file molto comune per il trasferimento dei dati. Il processo di importazione dei file CSV è rapido e semplice. È molto meglio che creare una tabella e inserire i dati manualmente. Ecco perché i file CSV, nonostante la loro semplicità, svolgono un ruolo fondamentale nell'elaborazione e nell'analisi dei dati. Importare un file CSV in un database MySQL Nel database MySQL esistono due opzioni per importare un file CSV. Una è quella di utilizzare uno strumento a riga di comando e l'altra è quella di utilizzare un'interfaccia grafica, o GUI. Vediamo di seguito ognuna di esse. Importare un file CSV in MySQL con la riga di comando Seguite i passaggi seguenti per importare un file CSV nel database MySQL tramite lo strumento della riga di comando. Collegare un database Partendo dal presupposto che sul computer sia installato un database MySQL funzionante, è possibile utilizzare il client a riga di comando MySQL (illustrato di seguito): È possibile connettersi al database eseguendo il comando mysql --host=localhost --user=username --password e fornendo una password: Si noti che sia il client della riga di comando MySQL che lo strumento standard della riga di comando forniscono lo stesso prompt mysql. Importare un file CSV Prima di importare un file CSV, è necessario creare manualmente una tabella con i tipi di dati corretti per ogni colonna. Quindi, per prima cosa creiamo un nuovo schema usando il comando CREATE SCHEMA. Poi eseguiamo il comando USE per assicurarci di essere all'interno dello schema appena creato. Infine, creeremo una nuova tabella con il comando CREATE TABLE. CREATE SCHEMA data; USE data; CREATE TABLE `countries` ( `id` int DEFAULT NULL, `country` text, `population` text, `capital` text); Il comando CREATE SCHEMA seguito da un nome di schema crea un nuovo schema chiamato data. Il comando USE seguito da un nome di schema assicura che si lavori all'interno dello schema appena creato. Dopo aver completato queste operazioni, creiamo una nuova tabella con il comando CREATE TABLE. Ora possiamo caricare la tabella countries con i dati del nostro file CSV. LOAD DATA INFILE 'countries.csv' INTO TABLE countries FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS; Questo comando specifica quanto segue: Il file da cui vengono caricati i dati: LOAD DATA INFILE 'countries.csv' La tabella in cui vengono caricati i dati: INTO TABLE countries Il carattere che separa i valori: FIELDS TERMINATED BY ',' Se si utilizza un separatore diverso, come un punto e virgola o una tabulazione, è necessario aggiornare questa riga per includere il carattere di separazione: FIELDS TERMINATED BY ';' o FIELDS TERMINATED BY ' ' Se alcuni o tutti i valori sono racchiusi tra virgolette doppie, includere questa riga: ENCLOSED BY '"' Il carattere che termina le righe: LINES TERMINATED BY '\n' L'informazione per ignorare la prima riga, che contiene l'intestazione: IGNORE 1 ROWS; Ecco l'output della console di tutti i comandi: Verifichiamo il processo di importazione eseguendo l'istruzione SELECT. La riga di comando restituisce un set di dati corretto, anche se la formattazione potrebbe essere disturbata: Verifichiamo la stessa cosa utilizzando l'interfaccia GUI. Ora siamo sicuri che il processo di importazione è riuscito. Vediamo come fare lo stesso utilizzando l'interfaccia grafica. Utilizzo di una GUI MySQL Utilizzeremo MySQL Workbench, una delle GUI più diffuse per MySQL. Seguite i passaggi seguenti per importare un file CSV in un database MySQL tramite l'interfaccia grafica. Collegamento di un database In MySQL Workbench è possibile 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. A questo punto, testate la connessione facendo clic sul pulsante Test Connection. Fornite la password e, se il test ha esito positivo, riceverete questo messaggio: Chiudere entrambe le finestre facendo clic sul pulsante OK. Ora possiamo procedere con l'importazione di un file CSV. Importazione di un file CSV Quando si utilizza un'interfaccia grafica, non è necessario creare una tabella prima di importare un file CSV. Il primo passo consiste nel creare un nuovo schema (se si desidera utilizzare un nuovo schema invece di uno schema esistente). È possibile farlo in due modi: Eseguire il comando CREATE SCHEMA nella finestra delle query: Creare uno schema dall'interfaccia GUI: A questo punto, fare clic con il pulsante destro del mouse sulle tabelle sotto il nome dello schema e scegliere l'opzione Importazione guidata dati tabella. Si aprirà una finestra che vi guiderà nel processo di importazione. A questo punto, scegliere il file CSV da importare e fare clic su Avanti. È possibile utilizzare una tabella esistente (questa opzione richiede la creazione di una tabella prima del processo di importazione) o creare una nuova tabella. In questo caso, abbiamo scelto di creare una nuova tabella. MySQL Workbench rileva il formato del file e suggerisce la codifica e i tipi di dati delle colonne da utilizzare. Siete liberi di modificarli come meglio credete, ma noi procederemo con i valori suggeriti. Ecco il riepilogo dei compiti che verranno eseguiti: E il gioco è fatto! Facendo clic sul pulsante Avanti, si ottiene un rapporto dettagliato. Ora possiamo chiudere la procedura guidata facendo clic sul pulsante Fine. Verifichiamo il successo del processo di importazione interrogando la tabella appena creata. Non c'è dubbio che l'importazione di un file CSV tramite l'interfaccia grafica sia più veloce e meno macchinosa rispetto all'importazione da riga di comando, ma entrambe le cose sono buone da sapere. Per confrontare i processi di importazione di file CSV su diversi motori di database, leggete il nostro articolo su Come importare CSV in PostgreSQL usando PgAdmin. E per conoscere il processo di esportazione, Come esportare un file CSV da una query T-SQL presenta il processo di esportazione di un file CSV nel motore di database MS SQL Server. Importiamo alcuni file CSV! I file CSV sono molto utilizzati per la loro semplicità. È possibile creare un file CSV utilizzando un semplice editor di testo, come il Blocco note. I file CSV possono utilizzare il punto e virgola al posto della virgola o racchiudere i valori tra virgolette doppie o meno. Come abbiamo visto in questo articolo, è facile importare file CSV in un database MySQL. È possibile utilizzare la riga di comando o l'interfaccia grafica. Il modo migliore per acquisire dimestichezza con entrambe le opzioni è fare pratica, quindi provate questo e altri esempi. Potete utilizzare i nostri corsi interattivi su MySQL per saperne di più su questo database. Qui troverete una panoramica dei corsi del nostro percorso SQL dalla A alla Z in MySQL. Buona fortuna! Tags: sql csv