CSV a SQL
Genera instrucciones SQL INSERT a partir de un CSV
Archivos subidos: hasta 400 000 filas (incluida la fila de encabezado, archivos de hasta 150 MB). Texto pegado: hasta 65 000 filas. La conversión se hace en tu navegador; el botón «Cancelar» la detiene.
Haz clic o arrastra un archivo .csv aquíElige un archivo .csv
Acerca de CSV a SQL
«CSV a SQL» escribe una instrucción CREATE TABLE y una instrucción INSERT por cada fila de datos a partir de un archivo .csv o de CSV pegado. Elige primero la base de datos: SQL estándar (PostgreSQL, SQLite), MySQL / MariaDB o SQL Server. Los nombres de tabla y de columna se delimitan, y las cadenas se escapan, como espera esa base de datos. Los tipos de columna se dimensionan según tus datos: INTEGER, BIGINT o DECIMAL para las columnas de números, VARCHAR (NVARCHAR en SQL Server) tan largo como el valor más largo para las demás. La herramienta solo escribe texto SQL; nunca se conecta a una base de datos.
Ejemplo
Un CSV pequeño pegado con el nombre de tabla predeterminado, y el SQL que devuelve la herramienta:
CSV
id,name,price 1,Ann,12.5 2,O'Brien,8
SQL
CREATE TABLE "my_table" (
"id" INTEGER,
"name" VARCHAR(7),
"price" DECIMAL(3, 1)
);
INSERT INTO "my_table" ("id", "name", "price") VALUES (1, 'Ann', 12.5);
INSERT INTO "my_table" ("id", "name", "price") VALUES (2, 'O''Brien', 8);Cómo convertir CSV a SQL
- 1Elige el destino en «Base de datos» y escribe un «Nombre de la tabla», o deja my_table.
- 2Añade los datos: un archivo .csv mediante la zona de subida, o texto CSV en «O pega CSV aquí».
- 3Comprueba que «Delimitador:» muestra el separador correcto y, para un archivo, que «Codificación:» muestra el juego de caracteres correcto.
- 4Haz clic en «Convertir».
- 5Para un archivo, haz clic en «Descargar» para guardar converted.sql; para un texto pegado, el SQL aparece en «Salida SQL» con un botón «Copiar».
Formatos y límites
- Entrada
- Un archivo .csv (de hasta 150 MB) o texto CSV pegado en la página
- Salida
- Texto SQL: CREATE TABLE más un INSERT por fila
- Bases de datos
- SQL estándar (PostgreSQL, SQLite), MySQL / MariaDB, SQL Server
- Filas de un archivo
- 400 000 en una computadora, 65 000 en teléfonos y tabletas, incluida la fila de encabezado
- Filas de texto pegado
- 65 000 en todos los dispositivos
Dónde se procesa tu archivo
El CSV se analiza y el SQL se escribe en tu navegador; tu archivo y los datos que pegas no se suben, y no se contacta con ninguna base de datos. Si se produce un error, su texto, sin nombres de archivo ni texto citado, se nos envía con el nombre de la herramienta y la versión de tu navegador.
Preguntas frecuentes
¿Los tipos de columna se dimensionan según los datos?
Sí. Los números enteros de hasta 9 dígitos dan INTEGER, los de 10 a 15 dígitos BIGINT, y los decimales DECIMAL con exactamente los dígitos que necesitan. Un valor con más de 15 dígitos significativos o con exponente convierte su columna en texto: VARCHAR (NVARCHAR en SQL Server) tan largo como el valor más largo, o TEXT, LONGTEXT o NVARCHAR(MAX) más allá del límite. Desmarca «Columnas numéricas como INTEGER / DECIMAL» para tener solo columnas de texto.
¿Son seguros los nombres con espacios o palabras reservadas?
Sí. Cada nombre de tabla y de columna se delimita para la base de datos elegida: comillas dobles en SQL estándar, acentos graves en MySQL / MariaDB, corchetes en SQL Server, y un delimitador dentro de un nombre se duplica. Por eso, un encabezado como unit price u order sigue dando SQL válido.
¿Se escapan los apóstrofos de los valores?
Sí. Un apóstrofo se duplica, así que O'Brien se escribe 'O''Brien'; MySQL / MariaDB también duplica las barras invertidas, y las cadenas de SQL Server llevan el prefijo N. Una celda vacía pasa a ser NULL en una columna numérica y una cadena vacía en una columna de texto.
¿El CSV pegado admite menos filas que un archivo?
Sí, en una computadora: el texto pegado se detiene en 65 000 filas porque se guarda en la página, mientras que un archivo puede tener 400 000 filas y ocupar hasta 150 MB. En teléfonos y tabletas, ambos límites son de 65 000 filas, incluida la fila de encabezado.
Consejos y trucos
- ✓Las fechas no se detectan: cambia su tipo VARCHAR o NVARCHAR por DATE o TIMESTAMP en la instrucción CREATE TABLE antes de ejecutarla.
- ✓Para volver a llevar instrucciones INSERT a una hoja de cálculo, usa «SQL a CSV».
Herramientas relacionadas
- CSV a JSON — el mismo CSV como un array de objetos JSON.
- CSV a Excel — un libro .xlsx con celdas numéricas de verdad.
- Excel a CSV
- Formateador JSON