Cómo se usa
- Pega un array de objetos JSON. Un solo objeto también sirve y da una fila.
- Escribe el nombre de la tabla (vale esquema.tabla) y elige MySQL, PostgreSQL o SQLite.
- Marca si quieres CREATE TABLE, sentencias INSERT o ambas, y cuántas filas van en cada INSERT.
- Copia el SQL y ejecútalo en tu cliente de base de datos.
Cómo funciona
Las columnas son todas las claves de los objetos, en el orden en que aparecen por primera vez. El tipo de cada columna sale de sus valores, y si a un objeto le falta una clave, esa fila recibe NULL. Las filas se escriben con INSERT de varias filas, que admiten las tres bases de datos; los arrays grandes se dividen según el ajuste Filas por INSERT.
Los números se escriben tal cual, los booleanos como TRUE/FALSE (1/0 en SQLite), y en una columna de valores mezclados cada valor va como texto entre comillas, para que el INSERT encaje con su tipo TEXT.
Ejemplo
[{"id":1,"name":"Ann","tags":["a"]},{"id":2,"name":"Bob"}] con la tabla users en PostgreSQL da:
CREATE TABLE "users" (
"id" BIGINT NOT NULL,
"name" TEXT NOT NULL,
"tags" JSONB
);
INSERT INTO "users" ("id", "name", "tags") VALUES
(1, 'Ann', '["a"]'),
(2, 'Bob', NULL);
A Bob le falta tags, así que la columna admite NULL y su fila recibe NULL.
Consejos
- Añade tú la PRIMARY KEY y los índices: el generador no puede saber qué columna es la clave.
- Las fechas en JSON son cadenas, así que salen como TEXT; cambia el tipo a DATE o TIMESTAMP si los valores son fechas ISO.
- Los enteros mayores que 9.007.199.254.740.991 pierden precisión al leer JSON en JavaScript; guarda los identificadores grandes como cadenas.
- Para datos en CSV usa CSV a SQL INSERT.