¿Cómo detecta un conversor los tipos de datos en un CSV?
Algoritmo que analiza las primeras cientos de filas para deducir si una columna debe mapearse como INTEGER, NUMERIC, TIMESTAMP, BOOLEAN o VARCHAR.
Micro-Soluciones Tecnológicas
Transforma archivos CSV y TSV a sentencias CREATE TABLE e INSERT INTO con inferencia automática de tipos de datos 100% en tu navegador.
id
id
nombre_producto
nombre_producto
categoria
categoria
precio
precio
stock
stock
en_oferta
en_oferta
fecha_ingreso
fecha_ingreso
El motor analiza exhaustivamente todas las filas de cada columna mediante expresiones regulares optimizadas, identificando enteros (INTEGER / BIGINT), números de punto flotante (DECIMAL), booleanos (true/false/1/0), fechas ISO 8601 (YYYY-MM-DD), marcas de tiempo y texto.
Cada dialecto SQL requiere tipos de datos específicos: PostgreSQL genera TIMESTAMPTZ y BOOLEAN; MySQL utiliza DATETIME y TINYINT(1); SQL Server genera DATETIME2 y BIT; SQLite usa tipado dinámico INTEGER y TEXT; Oracle implementa NUMBER y TIMESTAMP.
Ejecutar miles de sentencias INSERT individuales satura la red y los registros WAL de la base de datos. Agrupar filas en lotes de 50 o 100 registros por sentencia INSERT INTO tbl VALUES (...), (...) acelera la importación hasta un 900% manteniendo el payload dentro de límites seguros.
El analizador detecta automáticamente si el archivo usa comas (,), punto y coma (;), tabulaciones (\t) o tuberías (|). Procesa correctamente saltos de línea internos y campos con comillas dobles anidadas escapadas ("""), sanitizando los nombres de columna a identificadores válidos.
Las filas del CSV se dividen incorrectamente en más columnas de las esperadas.
Envuelve cualquier celda de texto que contenga comas o saltos de línea entre comillas dobles "mi texto, con coma".
El estándar RFC 4180 estipula que cualquier campo que contenga el carácter delimitador o un salto de línea (CRLF) debe estar delimitado por comillas dobles. Las comillas dentro de un campo entrecomillado deben duplicarse (ej. "Monitor 27"" 144Hz").
El servidor SQL rechaza el script generado con error de tamaño máximo de consulta o desbordamiento de memoria.
Cambia el selector 'Tamaño del Lote' a 'Lotes de 50 filas' o 'Lotes de 100 filas' antes de descargar el archivo .sql.
MySQL limita el tamaño de cada comando con el parámetro max_allowed_packet (por defecto 16MB/64MB). En SQLite y PostgreSQL, las sentencias preparadas tienen un límite de parámetros (32.766 en SQLite). Dividir en lotes de 50-100 filas previene este desbordamiento.
Columnas con fechas no se reconocen como tipo DATE en la sentencia CREATE TABLE.
Usa el panel inferior de 'Personalizar Tipos de Columna' para cambiar el selector de la columna a 'DATE' o formatea el CSV con fechas ISO YYYY-MM-DD.
Los formatos regionales (DD/MM/YYYY vs MM/DD/YYYY) son intrínsecamente ambiguos (04/05/2024 = ¿4 de mayo o 5 de abril?). Para garantizar precisión sin suposiciones erróneas, los motores SQL exigen formato estándar ISO 8601 (YYYY-MM-DD).
Los nombres de columnas causan errores de sintaxis en el comando CREATE TABLE de la base de datos.
La herramienta normaliza automáticamente nombres a formato snake_case (ej. 'Precio Total ($)' → 'precio_total'). Puedes ajustar el nombre exacto si es necesario.
Los identificadores SQL válidos no pueden contener espacios, guiones ni caracteres fuera del conjunto alfanumérico sin requerir delimitación especial del dialecto (`nombre` en MySQL, "nombre" en PostgreSQL, [nombre] en T-SQL).
El formato CSV apareció por primera vez en 1972 en los sistemas IBM OS/360 Fortran para intercambiar registros entre mainframes. A pesar de la llegada de JSON, XML, YAML y Protocol Buffers, el CSV sigue siendo el formato universal para exportación e ingesta de bases de datos.
En los países de habla hispana y gran parte de Europa, la coma (,) es el separador decimal estándar (ej. 19,99 €). Para evitar que números decimales se rompan en dos columnas distintas, Microsoft Excel utiliza automáticamente el punto y coma (;) como delimitador de listas.
Para lotes pequeños y medianos, las sentencias INSERT INTO VALUES (...) son las más portables y seguras. Sin embargo, para ingestas de millones de filas en producción, el comando binario COPY FROM STDIN de PostgreSQL evita el overhead del planificador SQL y procesa hasta 100.000 filas por segundo.
Aunque miles de millones de archivos CSV circulaban por Internet desde los años 70, la IETF no publicó una especificación formal hasta 2005 (RFC 4180). E incluso hoy, fue catalogado únicamente como 'documento informativo' y no como estándar estricto obligatorio.
Aprende los conceptos fundamentales, protocolos y términos técnicos de esta herramienta.
Algoritmo que analiza las primeras cientos de filas para deducir si una columna debe mapearse como INTEGER, NUMERIC, TIMESTAMP, BOOLEAN o VARCHAR.
Agrupa miles de registros en una única transacción e instrucción `INSERT INTO ... VALUES (...)`, reduciendo drásticamente la latencia de red y escrituras de disco.
Sentencias de definición estructural de bases de datos (`CREATE TABLE`, `ALTER TABLE`, `CREATE INDEX`) que construyen el esquema antes de insertar datos.
Si un texto contiene comas internas sin comillas de escape (RFC 4180), el motor dividirá erróneamente las columnas, desfasando todos los registros.