Pular para o conteúdo

Converter JSON para MySQL

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

Seu arquivo
jsonpedidos_2024.jsonArquivo de exemplo, 771 B
Seu banco de dados

4 linhas convertidas, 2 correções, nenhuma rejeitada

Mostrar
As primeiras linhas de pedidos_2024.json, com cada correção marcada
Linha
2000481Peña Muñoz2024-02-03T10:15:00Z1234.5true
3000482José Ángel Ruiz2024-02-15T16:40:00Z99.9falseEntrega en la tarde
4000483Zoë Ortíz2024-02-29T09:05:00Z12true
5000484Ñuño Castañeda2024-03-11T13:30:00Z980.75síFactura con "RFC"
-- Written by IntoSQL for MySQL.

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

CREATE TABLE pedidos_2024 (
    pedido varchar(8) NOT NULL,
    cliente varchar(16) NOT NULL,
    fecha datetime NOT NULL,
    total decimal(6,2) NOT NULL,
    pagado tinyint(1) NOT NULL,
    notas varchar(32)
) DEFAULT CHARSET=utf8mb4;

INSERT INTO pedidos_2024 (pedido, cliente, fecha, total, pagado, notas) VALUES
('000481', 'Peña Muñoz', '2024-02-03 10:15:00', 1234.5, TRUE, NULL),
('000482', 'José Ángel Ruiz', '2024-02-15 16:40:00', 99.9, FALSE, 'Entrega en la tarde'),
('000483', 'Zoë Ortíz', '2024-02-29 09:05:00', 12, TRUE, NULL),
('000484', 'Ñuño Castañeda', '2024-03-11 13:30:00', 980.75, TRUE, 'Factura con "RFC"');

COMMIT;

Correções

  1. Zeros à esquerda mantidos em "pedido": 000481 continua 000481, salvo como texto.
  2. "pagado" contém palavras de sim e não (sí), salvas como booleano.

Seu arquivo é convertido neste computador e nunca é enviado.

Outros exemplos:

De JSON para MySQL, coluna por coluna

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

No arquivoPrimeiro valorColunaTipo no MySQLNo script
pedido000481pedidovarchar(8)'000481'
clientePeña Muñozclientevarchar(16)'Peña Muñoz'
fecha2024-02-03T10:15:00Zfechadatetime'2024-02-03 10:15:00'
total1234.5totaldecimal(6,2)1234.5
pagadotruepagadotinyint(1)TRUE
notas-notasvarchar(32)NULL

Carregue o script no MySQL

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

Pelo terminal

mysql --default-character-set=utf8mb4 mydb < pedidos_2024.mysql.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 MySQL Workbench, escolha File, Run SQL Script e selecione o arquivo.

Sem scriptPro

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

intosql load pedidos_2024.json --into mysql://user@localhost/mydb

O que saber sobre arquivos JSON e MySQL

O que o IntoSQL lê em arquivos JSON

  • O arquivo pode ser um array de objetos, um objeto que guarda esse array sob uma chave como data, ou um objeto por linha (NDJSON).
  • Cada chave vira uma coluna. Objetos e arrays dentro de um valor são mantidos como texto JSON.
  • Os números mantêm os dígitos exatos, e datas ISO 8601 viram datas ou timestamps.

O que saber sobre MySQL

  • 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 MySQL não guarda fuso horário.

Como cada tipo de valor é armazenado no MySQL

ValorMySQL
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 JSON para MySQL

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

Como converto JSON para MySQL?

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

Qual formato o arquivo JSON precisa ter?

Um array de objetos, um objeto que guarda esse array em uma chave como data, ou um objeto por linha (NDJSON). Cada chave vira uma coluna.

Quais tipos do MySQL 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 MySQL?

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

Ele carrega os dados no MySQL sem um script?

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

Qual o tamanho máximo do arquivo JSON?

NDJSON, um objeto por linha, é lido à medida que chega, então arquivos de vários gigabytes funcionam no navegador. Um documento JSON é lido inteiro, então o limite é a memória que o navegador dá a esta página. O app para desktop e a linha de comando aceitam arquivos de qualquer tamanho.