Esta página describe Calíope 1.5, la versión que estamos construyendo ahora mismo. La 1.4 está terminada y en revisión de App Store, y la tienda sirve hoy la 1.3 en el Mac y la 1.2 en iPad. El changelog dice en qué versión llegó cada función.

Añade un botón «Abrir en Calíope» a cada tema. Sólo funciona con la app instalada.

Importación de datos

Importar datos desde CSV, JSON o Excel

Carga datos desde un archivo CSV, JSON o Excel (.xlsx) directamente en una tabla MySQL usando el asistente de importación en tres pasos.

Dónde está: Árbol de esquema › clic derecho › Importar datos…

El asistente de Importación de datos te permite insertar filas en una tabla MySQL/MariaDB a partir de un archivo externo, sin necesidad de escribir SQL manualmente.

Cómo abrir el asistente:
En el Árbol de esquema, haz clic derecho sobre una tabla y selecciona "Importar datos…". Se abre el asistente de importación con esa tabla como destino.

Paso 1 — Seleccionar archivo:
- Pulsa Elegir archivo y selecciona un archivo .csv, .json o .xlsx.
- CSV — el separador de columnas se detecta automáticamente (, o ;).
- JSON — debe ser un array de objetos ([{"col": valor}, …]).
- Excel (.xlsx) — se lee la primera hoja del libro. Nota: el soporte de .xlsx lee el archivo como ZIP y extrae la hoja XML; no se necesita ninguna librería de terceros.
- Activa "Primera fila contiene encabezados" si la primera fila define los nombres de columna (activado por defecto).

Paso 2 — Mapear columnas:
- La tabla de mapeo muestra cada columna del archivo a la izquierda y un selector de columna de destino a la derecha.
- Selecciona "— Ignorar —" en cualquier columna del archivo que no deba importarse.
- Calíope intenta detectar automáticamente las coincidencias por nombre.

Paso 3 — Opciones de importación:
- Elige el modo de inserción (ver tema Modos de importación).
- Ajusta el tamaño de lote (predeterminado: 500 filas por INSERT). Lotes más grandes son más rápidos pero consumen más memoria en el servidor.
- Pulsa Importar para iniciar. Una barra de progreso muestra el avance fila a fila.
- Al finalizar, se muestra el número de filas insertadas y los errores, si los hay.

Disponible en macOS, iPad e iPhone.

Palabras clave: importar, csv, json, excel, xlsx, datos, cargar, wizard, asistente, archivo, filas, tabla, insert

Mapear columnas en la importación

Cómo asignar las columnas del archivo de origen a las columnas de la tabla de destino en el paso 2 del asistente de importación.

Dónde está: Árbol de esquema › clic derecho › Importar datos…

El Paso 2 del asistente te permite controlar exactamente cómo se asignan las columnas del archivo a las columnas de la tabla MySQL.

Funcionamiento del mapeo:
- Cada fila de la tabla de mapeo representa una columna del archivo de origen.
- El selector de la derecha muestra las columnas disponibles en la tabla de destino.
- Calíope intenta hacer coincidir los nombres automáticamente (ignorando mayúsculas/minúsculas).

Ignorar columnas:
Selecciona "— Ignorar —" en el selector de una columna de origen para excluirla de la importación. Esto es útil cuando el archivo tiene más columnas que la tabla, o cuando alguna columna no debe importarse (p. ej., IDs autogenerados).

Columnas sin coincidencia automática:
Si el archivo tiene una columna cuyo nombre no coincide con ninguna columna de la tabla, aparecerá con el selector en "— Ignorar —" por defecto. Asígnala manualmente si corresponde.

Primera fila como encabezado:
Si activaste "Primera fila contiene encabezados" en el paso anterior, los nombres del archivo provienen de esa primera fila y se usan para el mapeo automático. Si está desactivado, las columnas del archivo se numeran (Columna 1, Columna 2, …).

Recomendación:
Antes de importar, verifica que todas las columnas NOT NULL sin valor DEFAULT tengan una columna de origen asignada; de lo contrario, el servidor rechazará las filas afectadas.

Palabras clave: mapeo, columnas, asignación, ignorar, encabezado, origen, destino, importación, csv, json, xlsx

Modos de importación: INSERT, INSERT IGNORE, REPLACE

Elige cómo manejar conflictos de clave primaria o única durante la importación de datos.

Dónde está: Árbol de esquema › clic derecho › Importar datos…

En el Paso 3 del asistente de importación puedes elegir cómo debe comportarse el servidor cuando una fila importada entra en conflicto con una clave primaria o única existente.

INSERT (predeterminado):
Inserta cada fila normalmente. Si una fila viola una restricción de clave única o primaria, la importación falla en esa fila y el lote se cancela. Usa este modo cuando los datos no deben tener duplicados y quieres detectar conflictos.

INSERT IGNORE:
Inserta cada fila normalmente, pero si una fila viola una restricción de clave, la omite silenciosamente y continúa con la siguiente. Los errores de clave duplicada no detienen la importación. Útil para importaciones tolerantes a duplicados o cuando ya existe un subconjunto de los datos en la tabla.

REPLACE:
Si una fila tiene la misma clave primaria o única que una fila existente, elimina la fila existente e inserta la nueva. Equivale a un DELETE seguido de INSERT. Útil para actualizar datos existentes con versiones más recientes del archivo. Ten en cuenta que REPLACE puede afectar a triggers de DELETE y restablece columnas con DEFAULT si no están en el archivo.

Resumen:

ModoDuplicado encontradoDatos existentes
INSERTError — detiene el loteSe preservan
INSERT IGNORESe omite la fila nuevaSe preservan
REPLACESe reemplaza la filaSe sobreescriben

Disponible en macOS, iPad e iPhone.

Palabras clave: insert, insert ignore, replace, duplicados, conflicto, clave primaria, clave única, modo, importación, replace into