Neste artigo
Por que converter JSON para SQL?
JSON e o formato padrão para APIs, arquivos de configuração e intercambio de dados, mas bancos de dados relacionais falam SQL. Quando você precisa importar dados JSON no MySQL, PostgreSQL, SQLite ou SQL Server, precisa de instruções INSERT. Escrever SQL manualmente para centenas ou milhares de registros e tedioso e propenso a erros.
Um conversor JSON para SQL automatiza isso analisando sua estrutura JSON, inferindo tipos de colunas e gerando instruções INSERT validas prontas para execução. E util para popular bancos de dados de desenvolvimento, migrar dados entre sistemas e importar respostas de APIs em um banco de dados relacional para analise.
Como o conversor funciona
O conversor analisa seu array JSON de objetos e transforma cada objeto em uma instrução SQL INSERT com tratamento correto de tipos.
- Analise de estrutura -- examina todos os objetos para coletar o conjunto completo de chaves, ja que diferentes objetos podem ter diferentes propriedades
- Detecção de tipo -- infere tipos de colunas SQL dos valores JSON: strings tornam-se VARCHAR ou TEXT, números tornam-se INT ou DECIMAL, booleanos tornam-se BOOLEAN e valores null sao preservados como NULL
- Geração SQL -- produz instruções INSERT INTO com valores corretamente citados, strings escapadas e tratamento NULL correto para o dialeto do banco de dados alvo
Experimente gratuitamente — sem cadastro
Converter JSON para SQL →Opções explicadas
O conversor fornece varias opções para controlar a saida SQL gerada para diferentes sistemas de bancos de dados e casos de uso.
- CREATE TABLE -- opcionalmente gera uma instrução CREATE TABLE com tipos de colunas inferidos antes das instruções INSERT, util para criar a tabela e importar dados em um unico passo
- INSERT em lote -- agrupa multiplas linhas em uma unica instrução INSERT usando sintaxe multi-valor para melhor desempenho ao importar grandes datasets
- Citação de identificadores -- controla como nomes de tabelas e colunas sao citados: crases para MySQL, aspas duplas para PostgreSQL e SQL padrão, ou colchetes para SQL Server
- Nome da tabela -- permite especificar o nome da tabela alvo em vez de usar um padrão, para que o SQL gerado esteja pronto para executar contra seu esquema de banco de dados real
Perguntas frequentes
Como o conversor mapeia tipos JSON para tipos SQL?
Strings JSON sao mapeadas para VARCHAR(255) ou TEXT dependendo do comprimento. Números JSON sao mapeados para INT para inteiros e DECIMAL para números com decimais. Booleanos JSON sao mapeados para BOOLEAN (ou TINYINT(1) para MySQL). Valores JSON null produzem NULL na saida SQL. Objetos e arrays aninhados sao serializados como strings JSON na coluna SQL.
Como os valores NULL sao tratados?
Valores JSON null e chaves ausentes produzem valores SQL NULL nas instruções INSERT. O conversor verifica cada objeto por propriedades ausentes e as preenche com NULL para garantir que todas as instruções INSERT tenham o mesmo número de colunas.
Como strings com caracteres especiais sao escapadas?
Strings contendo aspas simples sao escapadas duplicando o caractere de aspas ('O''Brien'). Barras invertidas, quebras de linha e outros caracteres especiais sao tratados de acordo com o dialeto SQL alvo. Isso previne injeção SQL nas instruções geradas e garante que o SQL seja sintaticamente valido.
Pode lidar com objetos JSON aninhados?
Objetos e arrays aninhados dentro dos seus dados JSON sao serializados como strings JSON na coluna SQL correspondente. Se você precisa de dados aninhados em tabelas separadas com relações de chaves estrangeiras, precisaria achatar a estrutura JSON primeiro ou usar uma ferramenta ETL mais especializada.