Qué hace
Cargar una hoja de cálculo en una base de datos suele implicar escribir a mano la definición de la tabla y una larga lista de sentencias INSERT, escapando cada apóstrofo. Esta herramienta lo hace por ti: pega un CSV y obtén un script SQL listo para ejecutar, con una sentencia CREATE TABLE e INSERT de varias filas agrupadas en lotes.
Sigue la RFC 4180: maneja campos entre comillas, comas y saltos de línea dentro de las celdas y comillas duplicadas. Las cadenas se escapan correctamente para la base de datos elegida, incluidas las barras invertidas en MySQL y las cadenas Unicode N'…' de SQL Server.
Cómo se usa
- Pega un CSV, sube un archivo
.csvo.tsv, o pulsa Ejemplo. - Escribe el Nombre de la tabla. Usa un punto para el esquema, como
public.ordersodbo.orders. - Elige el Dialecto: MySQL / MariaDB, PostgreSQL, SQLite o SQL Server.
- Elige las Filas por INSERT y desactiva CREATE TABLE si la tabla ya existe.
- Copia el SQL o descárgalo como archivo
.sqly ejecútalo con tu cliente de base de datos.
El delimitador se detecta automáticamente; también puedes fijar coma, punto y coma, tabulador o barra vertical. Si la primera fila contiene datos y no nombres de columna, desactiva La primera fila es el encabezado y las columnas se llamarán column_1, column_2, etc.
Ejemplo
Este CSV:
id,name,price,in_stock
1,Ada's Tea,4.50,true
2,Coffee,,false
se convierte en este script para PostgreSQL:
CREATE TABLE "products" (
"id" INTEGER,
"name" TEXT,
"price" NUMERIC(3, 2),
"in_stock" BOOLEAN
);
INSERT INTO "products" ("id", "name", "price", "in_stock") VALUES
(1, 'Ada''s Tea', 4.50, TRUE),
(2, 'Coffee', NULL, FALSE);
El apóstrofo de Ada's se duplica, el precio vacío pasa a NULL y los números y booleanos se escriben sin comillas.
Tipos y dialectos
- MySQL / MariaDB: identificadores entre acentos graves,
INT,DECIMAL,BOOLEAN,DATE,DATETIME,VARCHAR(255)oTEXT; las barras invertidas de las cadenas se escapan. - PostgreSQL: identificadores entre comillas dobles,
INTEGER,NUMERIC,BOOLEAN,DATE,TIMESTAMPyTEXT. - SQLite: identificadores entre comillas dobles y las clases de almacenamiento de SQLite
INTEGER,REALyTEXT; los booleanos se escriben como 1 y 0. - SQL Server: identificadores entre corchetes,
INT,DECIMAL,BIT,DATE,DATETIME2yNVARCHAR, con literalesN'…'y un máximo de 1000 filas por INSERT. - Las celdas vacías pasan a
NULL. Desactiva Celdas vacías como NULL para conservar cadenas vacías en las columnas de texto. - Revisa los tipos inferidos antes de ejecutar el script sobre datos de producción: una columna que solo tiene números pequeños en la muestra puede necesitar un tipo más amplio más adelante.
Preguntas frecuentes
› ¿Qué bases de datos admite?
MySQL (y MariaDB), PostgreSQL, SQLite y Microsoft SQL Server. El dialecto determina cómo se citan los nombres de tablas y columnas, cómo se escapan las cadenas, qué tipos de columna se usan y cómo se escriben los booleanos.
› ¿Cómo se eligen los tipos de columna?
Se analiza cada columna: los enteros pasan a INT o BIGINT, los decimales a DECIMAL con precisión suficiente, true/false a BOOLEAN (BIT en SQL Server), las fechas ISO a DATE o DATETIME y todo lo demás a texto. Los números con ceros a la izquierda, como los códigos postales, se quedan como texto. Desactiva Detectar tipos para que todas las columnas sean texto.
› ¿Por qué SQL Server está limitado a 1000 filas por INSERT?
SQL Server rechaza listas VALUES de más de 1000 filas, así que en ese dialecto los lotes mayores se limitan a 1000. Otras bases de datos aceptan lotes más grandes, pero entre 100 y 1000 filas por sentencia es un buen equilibrio entre velocidad y tamaño.
› ¿Se sube mi CSV?
No. El análisis y la generación del SQL ocurren por completo en tu navegador, así que los datos nunca salen de tu dispositivo.