Vai al contenuto

Convertire CSV in MariaDB

Trascina il tuo file CSV per ottenere uno script MariaDB con istruzioni CREATE TABLE e INSERT. Ogni colonna riceve un tipo e ogni correzione è elencata con la sua riga e colonna.

Il tuo file
csvventas_2024.csvFile di esempio, 357 B
Il tuo database

5 righe convertite, 8 correzioni, nessuna rifiutata

Mostra
Le prime righe di ventas_2024.csv, con ogni correzione segnata
Riga
500412Peña MuñozMérida15/02/20241.234,50sí
600413José Ángel RuizLeón03/02/202499,90no
700414Zoë OrtízQuerétaro29/02/2024N/Así
800415Ñuño CastañedaOaxaca28/02/20247,25no
900416Iñaki OlaizolaMazatlán11/03/2024980,75sí
-- Written by IntoSQL for MariaDB.

SET NAMES utf8mb4;
SET SESSION sql_mode = REPLACE(@@sql_mode, 'NO_BACKSLASH_ESCAPES', '');
START TRANSACTION;

CREATE TABLE ventas_2024 (
    folio varchar(8) NOT NULL,
    cliente varchar(16) NOT NULL,
    ciudad varchar(16) NOT NULL,
    fecha date NOT NULL,
    importe decimal(6,2),
    pagado tinyint(1) NOT NULL
) DEFAULT CHARSET=utf8mb4;

INSERT INTO ventas_2024 (folio, cliente, ciudad, fecha, importe, pagado) VALUES
('00412', 'Peña Muñoz', 'Mérida', '2024-02-15', 1234.50, TRUE),
('00413', 'José Ángel Ruiz', 'León', '2024-02-03', 99.90, FALSE),
('00414', 'Zoë Ortíz', 'Querétaro', '2024-02-29', NULL, TRUE),
('00415', 'Ñuño Castañeda', 'Oaxaca', '2024-02-28', 7.25, FALSE),
('00416', 'Iñaki Olaizola', 'Mazatlán', '2024-03-11', 980.75, TRUE);

COMMIT;

Correzioni

  1. Il file era codificato in windows‑1252; è stato convertito in UTF-8.
  2. L'intestazione è alla riga 4; le righe sopra sono state escluse.
  3. La riga 10 ("TOTAL") è un totale, quindi è stata esclusa.
  4. Zeri iniziali mantenuti in "Folio": 00412 resta 00412, salvato come testo.
  5. 15/02/2024 dimostra che le date in "Fecha" hanno prima il giorno, quindi 03/02/2024 si legge come 2024‑02‑03.
  6. I numeri in "Importe" usano la virgola decimale: 1.234,50 si legge come 1234.50.
  7. N/A in "Importe" letti come vuoti (1 su 5 valori).
  8. "Pagado" contiene parole sì e no (sí, no), salvate come booleano.

Il tuo file viene convertito su questo computer e non viene mai caricato.

Altri esempi:

Da CSV a MariaDB, colonna per colonna

L'esempio qui sopra, ventas_2024.csv, come IntoSQL lo scrive per MariaDB: cosa contiene ogni colonna nel file, il tipo che riceve e come il suo primo valore finisce nello script.

Nel filePrimo valoreColonnaTipo MariaDBNello script
Folio00412foliovarchar(8)'00412'
ClientePeña Muñozclientevarchar(16)'Peña Muñoz'
CiudadMéridaciudadvarchar(16)'Mérida'
Fecha15/02/2024fechadate'2024-02-15'
Importe1.234,50importedecimal(6,2)1234.50
Pagadosípagadotinyint(1)TRUE

Carica lo script in MariaDB

Il download è un semplice file .sql. Eseguilo con gli strumenti di MariaDB.

Da un terminale

mariadb --default-character-set=utf8mb4 mydb < ventas_2024.mariadb.sql

Lo script imposta già utf8mb4; il flag fa sì che il client lo invii allo stesso modo, così gli accenti arrivano intatti.

Da uno strumento per database

In HeidiSQL o DBeaver, apri lo script ed eseguilo.

Senza scriptPro

IntoSQL Pro carica il file direttamente in MariaDB dall'app desktop o dalla riga di comando, senza scrivere uno script.

intosql load ventas_2024.csv --into mariadb://user@localhost/mydb

Cosa sapere sui file CSV e su MariaDB

Cosa legge IntoSQL nei file CSV

  • La codifica viene rilevata, comprese Windows-1252 e UTF-16, così accenti e ñ arrivano intatti.
  • Il separatore viene rilevato: virgola, punto e virgola, tabulazione o barra verticale. Con il punto e virgola, le virgole decimali come 1.234,50 vengono lette come numeri.
  • I valori tra virgolette possono contenere separatori e a capo.

Cosa sapere su MariaDB

  • I valori sì e no diventano tinyint(1). Il testo fino a 255 caratteri è varchar; il testo più lungo è text, mediumtext o longtext in base alla dimensione.
  • Lo script usa utf8mb4 e imposta la modalità SQL, così accenti, emoji, barre rovesciate e a capo vengono caricati come sono scritti.
  • Il datetime di MariaDB non salva il fuso orario.

Come viene salvato ogni tipo di valore in MariaDB

ValoreMariaDB
Sì e notinyint(1)
Numeri interiint
Numeri interi grandibigint
Decimalidecimal(p,s)double
Numeri in virgola mobiledouble
Datedate
Oraritime(6)time
Date con oradatetime(6)datetime
Date con ora e fusodatetime(6)datetime
Testovarchar(n)textmediumtextlongtext

Domande su CSV in MariaDB

Non trovi la risposta? Scrivici dalla pagina dei contatti e ti risponde una persona. Pagina dei contatti

Come converto CSV in MariaDB?

Trascina il file sul convertitore in cima a questa pagina. Trova l'intestazione, legge ogni valore e scrive lo script MariaDB, elencando ogni correzione fatta. Scarica lo script ed eseguilo con the mariadb client.

E se il mio CSV usa punti e virgola o tabulazioni?

Il separatore viene rilevato: virgola, punto e virgola, tabulazione o barra verticale. Puoi anche impostarlo in Altre opzioni. Con il punto e virgola, le virgole decimali come 1.234,50 vengono lette come numeri.

Quali tipi MariaDB usa?

I valori sì e no diventano tinyint(1), i numeri interi int, i decimali decimal(p,s), le date date, le date con ora datetime(6) e il testo varchar(n). Le dimensioni dipendono dal valore più lungo di ogni colonna.

Mantiene gli zeri iniziali in MariaDB?

Sì. Un codice come 00412 resta testo, quindi MariaDB lo salva come varchar(8) e lo script lo scrive come '00412'.

Può caricare i dati in MariaDB senza uno script?

Sì, con IntoSQL Pro. L'app desktop e la riga di comando si collegano a MariaDB e caricano le righe direttamente, creando prima la tabella.

Quanto può essere grande il file CSV?

Il browser legge il CSV man mano che arriva, quindi funzionano file di diversi gigabyte. Su un portatile Apple M4 la riga di comando converte un CSV di 174 MB con un milione di righe in meno di un secondo.