Vai al contenuto

Convertire Excel in MariaDB

Trascina il tuo file Excel 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
xlsxclientes_2024.xlsxFile di esempio, 7 kB
Il tuo database

4 righe convertite, 10 correzioni, nessuna rifiutata

Mostra
Le prime righe di clientes_2024.xlsx, con ogni correzione segnata
Riga
500127Peña Muñoz0123403/02/2024sí1.234,50
600128José Ángel0987015/02/2024noN/A
700129Zoë Ortíz4410029/02/2024sí-12,00
800130Ñuño Castañeda0670011/03/2024no980,75
-- Written by IntoSQL for MariaDB.

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

CREATE TABLE clientes_2024 (
    no_cliente varchar(8) NOT NULL COMMENT 'Nº Cliente',
    nombre varchar(16) NOT NULL,
    c_p varchar(8) NOT NULL COMMENT 'C.P.',
    alta date NOT NULL,
    activo tinyint(1) NOT NULL,
    saldo decimal(6,2)
) DEFAULT CHARSET=utf8mb4;

INSERT INTO clientes_2024 (no_cliente, nombre, c_p, alta, activo, saldo) VALUES
('00127', 'Peña Muñoz', '01234', '2024-02-03', TRUE, 1234.50),
('00128', 'José Ángel', '09870', '2024-02-15', FALSE, NULL),
('00129', 'Zoë Ortíz', '44100', '2024-02-29', TRUE, -12.00),
('00130', 'Ñuño Castañeda', '06700', '2024-03-11', FALSE, 980.75);

COMMIT;

Correzioni

  1. L'intestazione è alla riga 4; le righe sopra sono state escluse.
  2. La riga 9 ("TOTAL") è un totale, quindi è stata esclusa.
  3. La colonna "Nº Cliente" ora si chiama no_cliente, così MariaDB la legge senza virgolette.
  4. La colonna "C.P." ora si chiama c_p, così MariaDB la legge senza virgolette.
  5. Zeri iniziali mantenuti in "Nº Cliente": 00127 resta 00127, salvato come testo.
  6. Zeri iniziali mantenuti in "C.P.": 01234 resta 01234, salvato come testo.
  7. 15/02/2024 dimostra che le date in "Alta" hanno prima il giorno, quindi 03/02/2024 si legge come 2024‑02‑03.
  8. "Activo" contiene parole sì e no (sí, no), salvate come booleano.
  9. I numeri in "Saldo" usano la virgola decimale: 1.234,50 si legge come 1234.50.
  10. N/A in "Saldo" letti come vuoti (1 su 4 valori).

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

Altri esempi:

Da Excel a MariaDB, colonna per colonna

L'esempio qui sopra, clientes_2024.xlsx, 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
Nº Cliente00127no_clientevarchar(8)'00127'
NombrePeña Muñoznombrevarchar(16)'Peña Muñoz'
C.P.01234c_pvarchar(8)'01234'
Alta03/02/2024altadate'2024-02-03'
Activosíactivotinyint(1)TRUE
Saldo1.234,50saldodecimal(6,2)1234.50

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 < clientes_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 clientes_2024.xlsx --into mariadb://user@localhost/mydb

Cosa sapere sui file Excel e su MariaDB

Cosa legge IntoSQL nei file Excel

  • La riga di intestazione viene trovata anche se sopra ci sono titoli o note, e una riga dei totali alla fine viene esclusa.
  • Le date salvate come numeri seriali di Excel diventano date vere, sia nel sistema di date 1900 sia nel 1904.
  • I codici con zeri iniziali, come 00127, restano testo. Se una cartella di lavoro ha più fogli, scegli tu il foglio.

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 Excel in MariaDB

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

Come converto Excel 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.

Quale foglio della cartella di lavoro viene convertito?

Il primo foglio visibile. Se la cartella di lavoro ne ha più di uno, compare l'opzione Foglio per sceglierne un altro.

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 00127 resta testo, quindi MariaDB lo salva come varchar(8) e lo script lo scrive come '00127'.

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 Excel?

Nel browser la cartella di lavoro viene letta per intero, quindi il limite è la memoria che il browser concede a questa pagina. L'app desktop e la riga di comando accettano cartelle di lavoro di qualsiasi dimensione; su un portatile Apple M4 la riga di comando converte una cartella di lavoro di 117 MB con un milione di righe in circa un secondo.