Pular para o conteúdo

Converter CSV para MariaDB

Solte seu arquivo CSV e receba um script para MariaDB com comandos CREATE TABLE e INSERT. Cada coluna recebe um tipo, e cada correção é listada com sua linha e coluna.

Seu arquivo
csvventas_2024.csvArquivo de exemplo, 357 B
Seu banco de dados

5 linhas convertidas, 8 correções, nenhuma rejeitada

Mostrar
As primeiras linhas de ventas_2024.csv, com cada correção marcada
Linha
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;

Correções

  1. O arquivo foi escrito em windows‑1252; ele foi convertido para UTF-8.
  2. O cabeçalho está na linha 4; as linhas acima dele ficaram de fora.
  3. A linha 10 ("TOTAL") é um total, então ficou de fora.
  4. Zeros à esquerda mantidos em "Folio": 00412 continua 00412, salvo como texto.
  5. 15/02/2024 prova que as datas em "Fecha" começam pelo dia, então 03/02/2024 é lido como 2024‑02‑03.
  6. Os números em "Importe" usam vírgula decimal: 1.234,50 é lido como 1234.50.
  7. N/A em "Importe" lidos como vazios (1 de 5 valores).
  8. "Pagado" contém palavras de sim e não (sí, no), salvas como booleano.

Seu arquivo é convertido neste computador e nunca é enviado.

Outros exemplos:

De CSV para MariaDB, coluna por coluna

O exemplo acima, ventas_2024.csv, como o IntoSQL o escreve para MariaDB: o que cada coluna contém no arquivo, o tipo que recebe e como seu primeiro valor fica no script.

No arquivoPrimeiro valorColunaTipo no MariaDBNo 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

Carregue o script no MariaDB

O download é um arquivo .sql simples. Execute-o com as ferramentas do próprio MariaDB.

Pelo terminal

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

O próprio script define utf8mb4; a flag faz o cliente enviá-lo do mesmo jeito, então os acentos chegam intactos.

Por uma ferramenta de banco de dados

No HeidiSQL ou no DBeaver, abra o script e execute-o.

Sem scriptPro

O IntoSQL Pro carrega o arquivo direto no MariaDB pelo app para desktop ou pela linha de comando, sem escrever um script.

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

O que saber sobre arquivos CSV e MariaDB

O que o IntoSQL lê em arquivos CSV

  • A codificação é detectada, incluindo Windows-1252 e UTF-16, então acentos e ç chegam intactos.
  • O separador é detectado: vírgula, ponto e vírgula, tabulação ou barra vertical. Com ponto e vírgula, vírgulas decimais como 1.234,50 são lidas como números.
  • Valores entre aspas podem conter separadores e quebras de linha.

O que saber sobre MariaDB

  • Valores de sim e não viram tinyint(1). Texto de até 255 caracteres é varchar; texto mais longo é text, mediumtext ou longtext conforme o tamanho.
  • O script usa utf8mb4 e define o modo SQL, então acentos, emoji, barras invertidas e quebras de linha são carregados como foram escritos.
  • O datetime do MariaDB não guarda fuso horário.

Como cada tipo de valor é armazenado no MariaDB

ValorMariaDB
Sim e nãotinyint(1)
Números inteirosint
Números inteiros grandesbigint
Decimaisdecimal(p,s)double
Números de ponto flutuantedouble
Datasdate
Horáriostime(6)time
Datas com horadatetime(6)datetime
Datas com hora e fusodatetime(6)datetime
Textovarchar(n)textmediumtextlongtext

Perguntas sobre CSV para MariaDB

Não encontrou a resposta? Escreva para nós pela página de contato e uma pessoa responde. Página de contato

Como converto CSV para MariaDB?

Solte seu arquivo no conversor no topo desta página. Ele encontra o cabeçalho, lê cada valor e escreve o script para MariaDB, listando cada correção feita. Baixe o script e execute-o com the mariadb client.

E se meu CSV usar ponto e vírgula ou tabulação?

O separador é detectado: vírgula, ponto e vírgula, tabulação ou barra vertical. Você também pode defini-lo em Mais opções. Com ponto e vírgula, vírgulas decimais como 1.234,50 são lidas como números.

Quais tipos do MariaDB ele usa?

Valores sim e não viram tinyint(1), números inteiros int, decimais decimal(p,s), datas date, datas com hora datetime(6) e texto varchar(n). Os tamanhos vêm do valor mais longo de cada coluna.

Ele mantém os zeros à esquerda no MariaDB?

Sim. Um código como 00412 continua como texto, então o MariaDB o guarda como varchar(8) e o script o escreve como '00412'.

Ele carrega os dados no MariaDB sem um script?

Sim, com o IntoSQL Pro. O app para desktop e a linha de comando se conectam ao MariaDB e carregam as linhas direto, criando a tabela antes.

Qual o tamanho máximo do arquivo CSV?

O navegador lê o CSV à medida que ele chega, então arquivos de vários gigabytes funcionam. Em um notebook com Apple M4, a linha de comando converte um CSV de 174 MB com um milhão de linhas em menos de um segundo.