Conversor de JSON a SQL INSERT
Convierte arreglos u objetos JSON en sentencias SQL INSERT con comillas según el dialecto (MySQL, PostgreSQL, SQLite, SQL Server), salida masiva o por fila, e inferencia opcional de CREATE TABLE.
Actualizado
JSON to SQL INSERT Converter
Convert JSON arrays or objects to SQL INSERT statements with dialect-aware quoting, schema inference, bulk or per-row output, and instant preview.
Options
JSON Input
SQL Output
Accepted input shapes
Array of objects: [{"a":1},{"a":2}]
Wrapped: {"data":[{"a":1},{"a":2}]}
Single object: {"a":1,"b":2} → one row.
Strings are wrapped in single quotes and escaped, numbers are emitted raw, booleans become 1/0 on MySQL/SQLite and TRUE/FALSE on PostgreSQL/SQL Server, ISO dates are quoted, and nested objects/arrays are serialized to JSON strings.
Preguntas Frecuentes
¿Qué es el Conversor de JSON a SQL INSERT?
El Conversor de JSON a SQL INSERT es una herramienta en línea gratuita que convierte arrays u objetos JSON en sentencias SQL INSERT con entrecomillado según el dialecto (mysql, postgresql, sqlite, sql server), salida masiva o por fila, e inferencia opcional de CREATE TABLE. Funciona por completo en tu navegador, sin necesidad de instalación ni registro.
¿Qué dialectos de SQL son compatibles?
MySQL, PostgreSQL, SQLite y SQL Server. El entrecomillado de identificadores cambia automáticamente (comillas invertidas/comillas dobles/corchetes) y los booleanos se convierten en 1/0 o TRUE/FALSE según el dialecto.
¿Puede generar también CREATE TABLE?
Sí. Activa Incluir CREATE TABLE para inferir un esquema a partir de las primeras 100 filas (INT, DECIMAL, BOOLEAN, DATETIME, VARCHAR(n) por rangos o TEXT) con detección de valores nulos.
¿Cómo se escapan las cadenas, los nulos y las fechas?
Las cadenas se encierran entre comillas simples con escape estándar de comilla duplicada o el clásico escape con barra invertida. Los nulos generan NULL o cadena vacía. Las fechas ISO-8601 se detectan y se entrecomillan como DATETIME/TIMESTAMP.
¿Es gratis usar el Conversor de JSON a SQL INSERT?
Sí, el Conversor de JSON a SQL INSERT es 100 % gratuito, sin registro, sin costos ocultos y sin límites de uso. Todo el procesamiento ocurre localmente en tu navegador, garantizando una privacidad total.
¿Están seguros mis datos con esta herramienta?
Por completo. El Conversor de JSON a SQL INSERT procesa todo en el lado del cliente, en tu navegador. No se sube ni se almacena ningún dato en ningún servidor. Tu contenido permanece privado en tu dispositivo en todo momento.
¿Funciona el Conversor de JSON a SQL INSERT en dispositivos móviles?
Sí, el Conversor de JSON a SQL INSERT es totalmente adaptable y funciona en smartphones y tabletas. Puedes usarlo en cualquier dispositivo con un navegador web moderno, sin necesidad de descargar ninguna aplicación.
¿Necesito crear una cuenta para usar esta herramienta?
No se necesita ninguna cuenta ni registro. Simplemente abre el Conversor de JSON a SQL INSERT en tu navegador y empieza a usarlo de inmediato. No hay muros de registro ni restricciones de uso.
¿Cómo uso el Conversor de JSON a SQL INSERT?
Solo tienes que introducir tu entrada en el campo correspondiente, ajustar las opciones a tu gusto y la herramienta la procesará al instante. Después puedes copiar el resultado al portapapeles o descargarlo.
¿Qué navegadores son compatibles?
El Conversor de JSON a SQL INSERT funciona en todos los navegadores modernos, incluidos Chrome, Firefox, Safari, Edge y Opera. Para una mejor experiencia, usa la última versión de tu navegador preferido.
¿Cuál es la diferencia entre un INSERT en bloque y una sentencia INSERT por cada fila?
Un insert en bloque enumera todas las filas dentro de una única sentencia — INSERT INTO tabla (columnas) VALUES (...), (...), (...); — de modo que todas las filas se cargan en un solo viaje de ida y vuelta. Es más compacto y suele ser la forma más rápida de poblar una tabla, por eso este conversor lo usa por defecto. El estilo de una fila por insert genera una línea INSERT INTO ... VALUES (...); independiente para cada registro. Esa salida es más larga, pero más fácil de leer, comparar (diff) en control de versiones, o ejecutar parcialmente cuando solo quieres aplicar algunas filas u omitir un registro que da error. Ambos producen los mismos datos; la elección es entre velocidad de ejecución y control granular. Algunos clientes de bases de datos también limitan cuántas filas puede contener una sola sentencia, así que la salida por fila evita ese límite. Cambia entre ambos con el interruptor de estilo de sentencia y el SQL se regenera al instante.
¿Cómo gestiona el conversor los apóstrofes y las comillas dentro de los valores de texto?
Las comillas simples dentro de un texto son la causa clásica de scripts INSERT rotos — un nombre como O'Brien, sin tratar, cerraría la cadena antes de tiempo y corrompería la sentencia. Esta herramienta las escapa automáticamente. En el modo estándar (el predeterminado), cada comilla simple incrustada se duplica, de modo que O'Brien se convierte en 'O''Brien', lo cual es SQL ANSI válido y aceptado por MySQL, PostgreSQL, SQLite y SQL Server. Si tu motor espera en su lugar el escapado heredado con barra invertida, cambia al modo backslash y ese mismo valor se convierte en 'O\'Brien', escapando también las barras invertidas literales. Los identificadores de columnas y tablas tienen su propio comillado —comillas invertidas, comillas dobles o corchetes según el dialecto— y cualquier carácter de comilla dentro de esos nombres también se escapa. El resultado es que los datos reales, con apóstrofes, comillas y caracteres especiales, se convierten en un script que puedes ejecutar sin limpieza manual.
¿Qué ocurre cuando los objetos de mi array JSON tienen claves distintas entre sí?
Las exportaciones reales suelen ser desiguales — un registro tiene un campo de teléfono y el siguiente no. Este conversor lo resuelve tomando la unión de todas las claves de todas las filas, listadas en el orden en que aparecen por primera vez, y usando ese conjunto combinado como lista de columnas. Cualquier fila a la que le falte una clave determinada recibe NULL (o una cadena vacía, según tu configuración de manejo de nulos) para esa columna, de modo que cada tupla VALUES queda alineada con el encabezado de columnas. Esto significa que los objetos parciales o inconsistentes igualmente encajan en una sola tabla limpia en lugar de fallar. El único caso que se rechaza es cuando un elemento del array no es en absoluto un objeto —un número, una cadena o un array anidado sueltos. Cuando eso ocurre, se detiene y te indica el índice exacto para que corrijas el origen. Pega tu JSON mixto y la unión de columnas se construye automáticamente.
¿Cómo se convierten a SQL los objetos y arrays anidados dentro de mi JSON?
Las columnas relacionales almacenan valores escalares, así que un objeto o array anidado no puede mapearse directamente a una columna normal. Cuando el conversor encuentra un valor que es en sí mismo un objeto o un array, lo serializa de vuelta a una cadena JSON compacta y lo inserta como un valor de texto entrecomillado, con el mismo escapado que se aplica a cualquier otra cadena. Así, un campo como {"tags":["a","b"]} se convierte en la cadena literal '["a","b"]' dentro del INSERT. Si además generas un CREATE TABLE, esas columnas se tipan como TEXT (o NVARCHAR(MAX) en SQL Server) para alojar el JSON serializado. Esto mantiene tus datos intactos y ejecutables, aunque no aplana las estructuras anidadas en columnas o tablas relacionadas separadas —esa normalización es una decisión de diseño que solo tú puedes tomar. Para columnas JSON o JSONB de Postgres, pega el texto generado y ajusta el tipo de columna según convenga.
¿Por qué el mismo JSON produce una salida distinta para MySQL que para PostgreSQL?
Cada base de datos tiene sus propias reglas para los identificadores y para ciertos tipos de valores, y un script escrito para un motor a menudo falla en otro. Este conversor ajusta la salida según el dialecto para que se ejecute tal cual. El comillado de identificadores cambia: MySQL envuelve los nombres de tablas y columnas en comillas invertidas, PostgreSQL y SQLite usan comillas dobles, y SQL Server usa corchetes. Los valores booleanos también difieren — true y false se convierten en 1 y 0 en MySQL y SQLite, pero en TRUE y FALSE en PostgreSQL y SQL Server. Los tipos inferidos para el CREATE TABLE también cambian, como TINYINT(1) para un booleano en MySQL frente a un BOOLEAN nativo en Postgres, o NVARCHAR en SQL Server frente a VARCHAR en los demás. El escapado de cadenas se mantiene como ANSI estándar por defecto en los cuatro. Elige tu destino en el interruptor de Dialecto antes de copiar, para que las sentencias coincidan con la base de datos en la que vas a cargar los datos.
Herramientas Relacionadas
Conversor de Longitud Gratis en Línea
Convierte entre metros, pies, pulgadas, millas y más unidades de longitud. Gratis, rápido y funciona totalmente en tu navegador sin necesidad de registro.
Conversor de Peso Gratis en Línea
Convierte entre kg, libras, onzas, gramos y más unidades de peso. Gratis, rápido y funciona totalmente en tu navegador sin necesidad de registro.
Conversor de Temperatura Gratis
Convierte temperaturas entre las escalas Celsius, Fahrenheit y Kelvin al instante. Gratis, rápido y funciona totalmente en tu navegador sin necesidad de registro.
Conversor de Área Gratis en Línea
Convierte entre metros cuadrados, acres, hectáreas y más. Gratis, rápido y funciona totalmente en tu navegador sin necesidad de registro.
Acerca del conversor de JSON a INSERT SQL
El conversor de JSON a INSERT SQL transforma un array u objeto JSON en sentencias SQL INSERT listas para ejecutar. Pega tus datos, elige un dialecto de base de datos y la herramienta genera el script INSERT INTO ... VALUES —opcionalmente junto con un CREATE TABLE a juego— que puedes copiar o descargar como archivo .sql. Está pensada para desarrolladores backend, ingenieros de datos y cualquiera que necesite poblar una base de datos, cargar respuestas de una API en tablas o migrar datos sin escribir a mano tediosos scripts de inserción.
Todo se ejecuta localmente en tu navegador. Tu JSON se analiza y convierte en tu propio dispositivo, así que los registros sensibles —filas de clientes, exportaciones internas, datos de staging— nunca se suben a un servidor. No hay registro, ni límite de filas, ni nada que instalar.
Qué tipo de entrada acepta
El conversor entiende tres formas de JSON, de modo que la mayoría de las exportaciones funcionan tal cual:
- Un array de objetos —
[{"id":1},{"id":2}], el caso más común, con una fila por objeto. - Un array envuelto — un objeto con una propiedad
data, como{"data":[...]}, que es lo que devuelven muchas APIs. - Un objeto único —
{"a":1,"b":2}se convierte en un insert de una sola fila.
Los nombres de columna proceden de las claves, y la herramienta toma la unión de claves de todas las filas en el orden en que aparecen por primera vez, de modo que objetos con campos ligeramente distintos igual quedan alineados. Si un elemento del array no es un objeto, se marca el índice exacto para que puedas corregir los datos de origen.
SQL adaptado a cada dialecto
El formato de comillas y valores no es universal, y hacerlo mal rompe el script. Este conversor ajusta la salida a cuatro bases de datos:
- Comillado de identificadores — comillas invertidas para MySQL, comillas dobles para PostgreSQL y SQLite, y corchetes para SQL Server, con los caracteres de comilla incrustados escapados de forma segura.
- Booleanos — se emiten como
1/0en MySQL y SQLite, y comoTRUE/FALSEen PostgreSQL y SQL Server. - Cadenas de texto — envueltas en comillas simples, con el escapado estándar SQL de doblar la comilla por defecto, o con el escapado heredado de barra invertida si tu motor lo espera así.
- Números, nulos y fechas — los números se emiten tal cual, los nulos se convierten en
NULLo en una cadena vacía según tu configuración, las marcas de tiempo ISO-8601 se detectan y se entrecomillan, y los objetos o arrays anidados se serializan como cadenas JSON.
También puedes elegir entre una única sentencia INSERT ... VALUES en bloque o un insert independiente por fila —el bloque es más compacto y rápido de ejecutar, mientras que el formato de una fila por insert es más fácil de comparar (diff) o ejecutar parcialmente.
Generar un esquema CREATE TABLE
Activa Incluir CREATE TABLE y la herramienta infiere un esquema muestreando hasta las primeras 100 filas. Elige un tipo adecuado para cada columna —INTEGER para números enteros, DECIMAL para valores fraccionarios, un tipo booleano apropiado para el dialecto, DATETIME/TIMESTAMP para fechas detectadas, y un VARCHAR agrupado por longitud (16, 32, 64, 128, 255, 500 o 1000) que se amplía a TEXT para cadenas largas. Las columnas que contienen un nulo en la muestra se marcan como nullable. Esto te da un punto de partida ejecutable para una definición de tabla, aunque conviene revisar claves, índices y tipos exactos antes de usarlo en producción.
Por qué ayuda un conversor de JSON a SQL
Cargar JSON en una base de datos relacional a mano es lento y propenso a errores: un simple apóstrofe sin escapar en un nombre como O'Brien, o un estilo de comillas incoherente, puede hacer fallar todo un lote. El conversor de JSON a INSERT SQL gestiona el escapado, el comillado y el formato de tipos de manera consistente, por lo que resulta práctico para poblar bases de datos de prueba y demostración, importar payloads de APIs de terceros y prototipar esquemas rápidamente. Una vista previa en vivo muestra las primeras filas junto con el recuento de filas y columnas, para que puedas verificar el resultado antes de ejecutarlo. Pega tu JSON arriba para generar SQL limpio y correcto para cada dialecto en segundos.