Aller au contenu

Convertir CSV en MariaDB

Déposez votre fichier CSV pour obtenir un script MariaDB avec des instructions CREATE TABLE et INSERT. Chaque colonne reçoit un type, et chaque correction est listée avec sa ligne et sa colonne.

Votre fichier
csvventas_2024.csvFichier d'exemple, 357 o
Votre base de données

5 lignes converties, 8 corrections, aucune rejetée

Afficher
Les premières lignes de ventas_2024.csv, avec chaque correction signalée
Ligne
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;

Corrections

  1. Le fichier était encodé en windows‑1252 ; il a été converti en UTF-8.
  2. L'en-tête est à la ligne 4 ; les lignes au-dessus ont été écartées.
  3. La ligne 10 ("TOTAL") est un total, elle a donc été écartée.
  4. Zéros initiaux conservés dans "Folio" : 00412 reste 00412, enregistré en texte.
  5. 15/02/2024 prouve que les dates de "Fecha" commencent par le jour, donc 03/02/2024 est lu comme 2024‑02‑03.
  6. Les nombres de "Importe" utilisent une virgule décimale : 1.234,50 est lu comme 1234.50.
  7. N/A dans "Importe" lus comme vides (1 sur 5 valeurs).
  8. "Pagado" contient des mots oui et non (sí, no), enregistrés en booléen.

Votre fichier est converti sur cet ordinateur et n'est jamais envoyé.

Autres exemples :

De CSV à MariaDB, colonne par colonne

L'exemple ci-dessus, ventas_2024.csv, tel qu'IntoSQL l'écrit pour MariaDB : ce que contient chaque colonne du fichier, le type qu'elle reçoit et comment sa première valeur apparaît dans le script.

Dans le fichierPremière valeurColonneType MariaDBDans le 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

Charger le script dans MariaDB

Le téléchargement est un simple fichier .sql. Exécutez-le avec les outils de MariaDB.

Depuis un terminal

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

Le script définit lui-même utf8mb4 ; l'option fait envoyer le client de la même façon, donc les accents arrivent intacts.

Depuis un outil de base de données

Dans HeidiSQL ou DBeaver, ouvrez le script et exécutez-le.

Sans scriptPro

IntoSQL Pro charge le fichier directement dans MariaDB depuis l'application de bureau ou la ligne de commande, sans écrire de script.

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

Bon à savoir sur les fichiers CSV et MariaDB

Ce qu'IntoSQL lit dans les fichiers CSV

  • L'encodage est détecté, Windows-1252 et UTF-16 compris, donc les accents et le ñ arrivent intacts.
  • Le séparateur est détecté : virgule, point-virgule, tabulation ou barre verticale. Avec un point-virgule, les virgules décimales comme 1.234,50 sont lues comme des nombres.
  • Les valeurs entre guillemets peuvent contenir des séparateurs et des sauts de ligne.

Bon à savoir sur MariaDB

  • Les valeurs oui et non deviennent tinyint(1). Le texte jusqu'à 255 caractères est en varchar ; un texte plus long est en text, mediumtext ou longtext selon sa taille.
  • Le script utilise utf8mb4 et définit le mode SQL, donc les accents, emoji, barres obliques inverses et sauts de ligne sont chargés tels qu'écrits.
  • Le datetime de MariaDB ne stocke pas de fuseau horaire.

Comment chaque type de valeur est stocké dans MariaDB

ValeurMariaDB
Oui et nontinyint(1)
Nombres entiersint
Grands nombres entiersbigint
Décimauxdecimal(p,s)double
Nombres à virgule flottantedouble
Datesdate
Heurestime(6)time
Dates avec heuredatetime(6)datetime
Dates avec heure et décalagedatetime(6)datetime
Textevarchar(n)textmediumtextlongtext

Questions sur CSV vers MariaDB

Pas de réponse ici ? Écrivez-nous depuis la page de contact, une personne vous répond. Page de contact

Comment convertir CSV en MariaDB ?

Déposez votre fichier sur le convertisseur en haut de cette page. Il trouve l'en-tête, lit chaque valeur et écrit le script MariaDB, en listant chaque correction. Téléchargez le script et exécutez-le avec the mariadb client.

Et si mon CSV utilise des points-virgules ou des tabulations ?

Le séparateur est détecté : virgule, point-virgule, tabulation ou barre verticale. Vous pouvez aussi le régler dans Plus d'options. Avec un point-virgule, les virgules décimales comme 1.234,50 sont lues comme des nombres.

Quels types MariaDB utilise-t-il ?

Les valeurs oui et non deviennent tinyint(1), les nombres entiers int, les décimaux decimal(p,s), les dates date, les dates avec heure datetime(6) et le texte varchar(n). Les tailles viennent de la valeur la plus longue de chaque colonne.

Garde-t-il les zéros en tête dans MariaDB ?

Oui. Un code comme 00412 reste du texte, donc MariaDB le stocke en varchar(8) et le script l'écrit '00412'.

Peut-il charger les données dans MariaDB sans script ?

Oui, avec IntoSQL Pro. L'application de bureau et la ligne de commande se connectent à MariaDB et chargent les lignes directement, en créant d'abord la table.

Quelle taille peut avoir le fichier CSV ?

Le navigateur lit le CSV au fil de l'eau, donc des fichiers de plusieurs gigaoctets fonctionnent. Sur un portable Apple M4, la ligne de commande convertit un CSV de 174 Mo d'un million de lignes en moins d'une seconde.