Skip to main content
CheckTown
Convertidores

Convertidor JSON a SQL: generar sentencias INSERT

Publicado 5 min de lectura
En este artículo

Por que convertir JSON a SQL?

JSON es el formato estandar para APIs, archivos de configuracion e intercambio de datos, pero las bases de datos relacionales hablan SQL. Cuando necesitas importar datos JSON en MySQL, PostgreSQL, SQLite o SQL Server, necesitas sentencias INSERT. Escribir SQL manualmente para cientos o miles de registros es tedioso y propenso a errores.

Un convertidor JSON a SQL automatiza esto analizando tu estructura JSON, infiriendo tipos de columnas y generando sentencias INSERT validas listas para ejecutar. Es util para poblar bases de datos de desarrollo, migrar datos entre sistemas e importar respuestas de APIs en una base de datos relacional para analisis.

Como funciona el convertidor

El convertidor analiza tu array JSON de objetos y transforma cada objeto en una sentencia SQL INSERT con tipado correcto.

  • Analisis de estructura -- examina todos los objetos para recopilar el conjunto completo de claves, ya que diferentes objetos pueden tener diferentes propiedades
  • Deteccion de tipo -- infiere tipos de columnas SQL de los valores JSON: las cadenas se convierten en VARCHAR o TEXT, los numeros en INT o DECIMAL, los booleanos en BOOLEAN y los valores null se preservan como NULL
  • Generacion SQL -- produce sentencias INSERT INTO con valores correctamente citados, cadenas escapadas y manejo NULL correcto para el dialecto de base de datos destino

Pruébalo gratis — sin registro

Convertir JSON a SQL →

Opciones explicadas

El convertidor proporciona varias opciones para controlar la salida SQL generada para diferentes sistemas de bases de datos y casos de uso.

  • CREATE TABLE -- genera opcionalmente una sentencia CREATE TABLE con tipos de columnas inferidos antes de las sentencias INSERT, util para crear la tabla e importar datos en un solo paso
  • INSERT por lote -- agrupa multiples filas en una sola sentencia INSERT usando sintaxis multi-valor para mejor rendimiento al importar grandes datasets
  • Entrecomillado de identificadores -- controla como se entrecomillan los nombres de tablas y columnas: acentos graves para MySQL, comillas dobles para PostgreSQL y SQL estandar, o corchetes para SQL Server
  • Nombre de tabla -- permite especificar el nombre de la tabla destino en lugar de usar uno predeterminado, para que el SQL generado este listo para ejecutarse contra tu esquema de base de datos real

Preguntas frecuentes

Como mapea el convertidor los tipos JSON a tipos SQL?

Las cadenas JSON se mapean a VARCHAR(255) o TEXT dependiendo de la longitud. Los numeros JSON se mapean a INT para enteros y DECIMAL para numeros con decimales. Los booleanos JSON se mapean a BOOLEAN (o TINYINT(1) para MySQL). Los valores JSON null producen NULL en la salida SQL. Los objetos y arrays anidados se serializan como cadenas JSON en la columna SQL.

Como se manejan los valores NULL?

Los valores JSON null y las claves faltantes producen valores SQL NULL en las sentencias INSERT. El convertidor verifica cada objeto por propiedades faltantes y las llena con NULL para asegurar que todas las sentencias INSERT tengan el mismo numero de columnas.

Como se escapan las cadenas con caracteres especiales?

Las cadenas que contienen comillas simples se escapan duplicando el caracter de comilla ('O''Brien'). Las barras invertidas, saltos de linea y otros caracteres especiales se manejan segun el dialecto SQL destino. Esto previene la inyeccion SQL en las sentencias generadas y asegura que el SQL sea sintacticamente valido.

Puede manejar objetos JSON anidados?

Los objetos y arrays anidados dentro de tus datos JSON se serializan como cadenas JSON en la columna SQL correspondiente. Si necesitas datos anidados en tablas separadas con relaciones de claves foraneas, necesitarias aplanar la estructura JSON primero o usar una herramienta ETL mas especializada.

Herramientas relacionadas