UTILS.
100% en el navegador
🗄

Generador de INSERT SQL desde CSV

Genera sentencias CREATE TABLE e INSERT escapadas desde un CSV con inferencia de tipos.

salida

Acerca de esta herramienta

CSV a SQL es un generador gratuito que funciona en el navegador y convierte un CSV pegado en sentencias SQL: un CREATE TABLE opcional con tipos de columna inferidos más un INSERT escapado por fila. Todo ocurre en tu dispositivo, así que tus datos nunca se suben.

La herramienta inspecciona cada columna e infiere si es un valor entero, decimal, de fecha o de texto, y luego los asigna a los tipos y al entrecomillado de identificadores correctos para el dialecto que elijas: MySQL, PostgreSQL, SQLite o SQL Server. Los valores de cadena se escapan de forma segura, las celdas vacías se convierten en NULL y las celdas numéricas quedan sin comillas.

Como se ejecuta en local, es una forma privada y compatible con el uso sin conexión de cargar datos de hojas de cálculo en una base de datos sin un asistente de importación, y puedes copiar el SQL o descargarlo como un archivo .sql.

Preguntas frecuentes

¿Cómo se infieren los tipos de columna?
Una columna se tipa como integer cuando todos los valores no vacíos son números enteros, decimal cuando los valores son numéricos con decimales, date cuando coinciden con YYYY-MM-DD (opcionalmente con una hora) y text en los demás casos. Las celdas en blanco se emiten como NULL.
¿Qué cambia entre dialectos?
El entrecomillado de identificadores y los nombres de tipo difieren: MySQL usa acentos graves e INT/VARCHAR, PostgreSQL y SQLite usan comillas dobles (SQLite prefiere INTEGER/REAL/TEXT) y SQL Server usa corchetes con NVARCHAR. Los literales de cadena van entre comillas simples con las comillas internas duplicadas en todos los dialectos.
¿Qué convenciones de CSV se asumen?
Los campos se dividen por el delimitador que elijas, los campos entre comillas dobles (con comillas internas duplicadas) se analizan para que los delimitadores incrustados se conserven, y la primera fila se usa como nombres de columna cuando la casilla de encabezado está marcada (de lo contrario se usan column1, column2 …).
¿Puedo omitir el CREATE TABLE?
Sí. Desmarca la opción CREATE TABLE para emitir solo las sentencias INSERT; resulta útil cuando la tabla de destino ya existe y solo necesitas las filas.

Más herramientas