Convertir CSV a MariaDB
Suelta tu archivo CSV y obtén un script de MariaDB con sentencias CREATE TABLE e INSERT. Cada columna recibe un tipo, y cada corrección se detalla con su fila y columna.
5 filas convertidas, 8 correcciones, ninguna rechazada
| Fila | ||||||
|---|---|---|---|---|---|---|
| 5 | 00412 | Peña Muñoz | Mérida | 15/02/2024 | 1.234,50 | sí |
| 6 | 00413 | José Ángel Ruiz | León | 03/02/2024 | 99,90 | no |
| 7 | 00414 | Zoë Ortíz | Querétaro | 29/02/2024 | N/A | sí |
| 8 | 00415 | Ñuño Castañeda | Oaxaca | 28/02/2024 | 7,25 | no |
| 9 | 00416 | Iñaki Olaizola | Mazatlán | 11/03/2024 | 980,75 | sí |
-- Written by IntoSQL for MariaDB.
SET NAMES utf8mb4;
SET SESSION sql_mode = REPLACE(@@sql_mode, 'NO_BACKSLASH_ESCAPES', '');
START TRANSACTION;
CREATE TABLE ventas_2024 (
folio varchar(8) NOT NULL,
cliente varchar(16) NOT NULL,
ciudad varchar(16) NOT NULL,
fecha date NOT NULL,
importe decimal(6,2),
pagado tinyint(1) NOT NULL
) DEFAULT CHARSET=utf8mb4;
INSERT INTO ventas_2024 (folio, cliente, ciudad, fecha, importe, pagado) VALUES
('00412', 'Peña Muñoz', 'Mérida', '2024-02-15', 1234.50, TRUE),
('00413', 'José Ángel Ruiz', 'León', '2024-02-03', 99.90, FALSE),
('00414', 'Zoë Ortíz', 'Querétaro', '2024-02-29', NULL, TRUE),
('00415', 'Ñuño Castañeda', 'Oaxaca', '2024-02-28', 7.25, FALSE),
('00416', 'Iñaki Olaizola', 'Mazatlán', '2024-03-11', 980.75, TRUE);
COMMIT;
Correcciones
- El archivo estaba escrito en windows‑1252; se convirtió a UTF-8.
- El encabezado está en la fila 4; las filas de arriba se dejaron fuera.
- La fila 10 ("TOTAL") es un total, así que se dejó fuera.
- Se conservaron los ceros a la izquierda en "Folio": 00412 sigue siendo 00412, guardado como texto.
- 15/02/2024 demuestra que las fechas de "Fecha" llevan el día primero, así que 03/02/2024 se lee como 2024‑02‑03.
- Los números de "Importe" usan coma decimal: 1.234,50 se lee como 1234.50.
- N/A en "Importe" se leyeron como vacíos (1 de 5 valores).
- "Pagado" contiene palabras de sí y no (sí, no); se guarda como booleano.
Tu archivo se convierte en esta computadora y nunca se sube.
Otros ejemplos:
De CSV a MariaDB, columna por columna
El ejemplo de arriba, ventas_2024.csv, tal como IntoSQL lo escribe para MariaDB: qué contiene cada columna en el archivo, qué tipo recibe y cómo queda su primer valor en el script.
| En el archivo | Primer valor | Columna | Tipo en MariaDB | En el script |
|---|---|---|---|---|
| Folio | 00412 | folio | varchar(8) | '00412' |
| Cliente | Peña Muñoz | cliente | varchar(16) | 'Peña Muñoz' |
| Ciudad | Mérida | ciudad | varchar(16) | 'Mérida' |
| Fecha | 15/02/2024 | fecha | date | '2024-02-15' |
| Importe | 1.234,50 | importe | decimal(6,2) | 1234.50 |
| Pagado | sí | pagado | tinyint(1) | TRUE |
Carga el script en MariaDB
La descarga es un archivo .sql simple. Ejecútalo con las herramientas propias de MariaDB.
Desde una terminal
mariadb --default-character-set=utf8mb4 mydb < ventas_2024.mariadb.sqlEl script define utf8mb4 por sí mismo; el flag hace que el cliente lo envíe igual, así que los acentos llegan intactos.
Desde una herramienta de base de datos
En HeidiSQL o DBeaver, abre el script y ejecútalo.
Sin scriptPro
IntoSQL Pro carga el archivo directo en MariaDB desde la app de escritorio o la línea de comandos, sin escribir un script.
intosql load ventas_2024.csv --into mariadb://user@localhost/mydbQué saber sobre los archivos CSV y MariaDB
Qué lee IntoSQL en los archivos CSV
- La codificación se detecta, incluidas Windows-1252 y UTF-16, así que los acentos y la ñ llegan intactos.
- El separador se detecta: coma, punto y coma, tabulador o barra vertical. Con punto y coma, las comas decimales como 1.234,50 se leen como números.
- Los valores entre comillas pueden contener separadores y saltos de línea.
Qué saber sobre MariaDB
- Los valores sí y no se vuelven tinyint(1). El texto de hasta 255 caracteres es varchar; el texto más largo es text, mediumtext o longtext según su tamaño.
- El script usa utf8mb4 y fija el modo SQL, así que los acentos, emoji, barras invertidas y saltos de línea se cargan tal como están escritos.
- El datetime de MariaDB no guarda zona horaria.
Cómo se guarda cada tipo de valor en MariaDB
| Valor | MariaDB |
|---|---|
| Sí y no | tinyint(1) |
| Números enteros | int |
| Números enteros grandes | bigint |
| Decimales | decimal(p,s)double |
| Números de punto flotante | double |
| Fechas | date |
| Horas del día | time(6)time |
| Fechas con hora | datetime(6)datetime |
| Fechas con hora y zona horaria | datetime(6)datetime |
| Texto | varchar(n)textmediumtextlongtext |
Preguntas sobre CSV a MariaDB
¿No encuentras la respuesta? Escríbenos desde la página de contacto y te responde una persona. Página de contacto
¿Cómo convierto CSV a MariaDB?
Suelta tu archivo en el convertidor al inicio de esta página. Encuentra el encabezado, lee cada valor y escribe el script de MariaDB, con la lista de cada corrección que hizo. Descarga el script y ejecútalo con the mariadb client.
¿Y si mi CSV usa punto y coma o tabuladores?
El separador se detecta: coma, punto y coma, tabulador o barra vertical. También puedes elegirlo en Más opciones. Con punto y coma, las comas decimales como 1.234,50 se leen como números.
¿Qué tipos de MariaDB usa?
Los valores sí y no pasan a tinyint(1), los enteros a int, los decimales a decimal(p,s), las fechas a date, las fechas con hora a datetime(6) y el texto a varchar(n). Los tamaños salen del valor más largo de cada columna.
¿Conserva los ceros a la izquierda en MariaDB?
Sí. Un código como 00412 se queda como texto, así que MariaDB lo guarda como varchar(8) y el script lo escribe como '00412'.
¿Puede cargar los datos en MariaDB sin un script?
Sí, con IntoSQL Pro. La app de escritorio y la línea de comandos se conectan a MariaDB y cargan las filas directamente, después de crear la tabla.
¿Qué tan grande puede ser el archivo CSV?
El navegador lee el CSV a medida que llega, así que funcionan archivos de varios gigabytes. En una laptop con Apple M4, la línea de comandos convierte un CSV de 174 MB con un millón de filas en menos de un segundo.