Questa pagina descrive Calíope 1.5, la versione che stiamo costruendo adesso. La 1.4 è finita ed è in revisione sull'App Store, e il negozio serve oggi la 1.3 sul Mac e la 1.2 su iPad. Il changelog dice in quale versione è arrivata ogni funzione.
Aggiunge a ogni argomento un pulsante «Apri in Calíope». Funziona solo con l'app installata.
Carica dati da un file CSV, JSON o Excel (.xlsx) direttamente in una tabella MySQL usando l'assistente di importazione in tre passaggi.
Dove si trova: Albero dello schema › clic destro › Importa dati…
L'assistente di Importazione dati ti permette di inserire righe in una tabella MySQL/MariaDB a partire da un file esterno, senza bisogno di scrivere SQL manualmente.
Come aprire l'assistente:
Nell'Albero dello schema, fai clic destro su una tabella e seleziona "Importa dati…". Si apre l'assistente di importazione con quella tabella come destinazione.
Passo 1 — Selezionare il file:
- Premi Scegli file e seleziona un file .csv, .json o .xlsx.
- CSV — il separatore di colonne viene rilevato automaticamente (, o ;).
- JSON — deve essere un array di oggetti ([{"col": valore}, …]).
- Excel (.xlsx) — viene letto il primo foglio della cartella di lavoro. Nota: il supporto .xlsx legge il file come ZIP ed estrae il foglio XML; non serve alcuna libreria di terze parti.
- Attiva "La prima riga contiene le intestazioni" se la prima riga definisce i nomi delle colonne (attivo per impostazione predefinita).
Passo 2 — Mappare le colonne:
- La tabella di mappatura mostra ogni colonna del file a sinistra e un selettore di colonna di destinazione a destra.
- Seleziona "— Ignora —" su qualsiasi colonna del file che non deve essere importata.
- Calíope prova a rilevare automaticamente le corrispondenze per nome.
Passo 3 — Opzioni di importazione:
- Scegli la modalità di inserimento (vedi il tema Modalità di importazione).
- Regola la dimensione del lotto (predefinito: 500 righe per INSERT). Lotti più grandi sono più veloci ma consumano più memoria sul server.
- Premi Importa per iniziare. Una barra di avanzamento mostra il progresso riga per riga.
- Al termine, viene mostrato il numero di righe inserite e gli errori, se presenti.
Come assegnare le colonne del file di origine alle colonne della tabella di destinazione nel passo 2 dell'assistente di importazione.
Dove si trova: Albero dello schema › clic destro › Importa dati…
Il Passo 2 dell'assistente ti permette di controllare esattamente come vengono assegnate le colonne del file alle colonne della tabella MySQL.
Come funziona la mappatura:
- Ogni riga della tabella di mappatura rappresenta una colonna del file di origine.
- Il selettore a destra mostra le colonne disponibili nella tabella di destinazione.
- Calíope prova a far coincidere i nomi automaticamente (ignorando maiuscole/minuscole).
Ignorare colonne:
Seleziona "— Ignora —" nel selettore di una colonna di origine per escluderla dall'importazione. È utile quando il file ha più colonne della tabella, o quando qualche colonna non deve essere importata (p. es. ID autogenerati).
Colonne senza corrispondenza automatica:
Se il file ha una colonna il cui nome non coincide con nessuna colonna della tabella, apparirà con il selettore su "— Ignora —" per impostazione predefinita. Assegnala manualmente se opportuno.
Prima riga come intestazione:
Se hai attivato "La prima riga contiene le intestazioni" nel passo precedente, i nomi del file provengono da quella prima riga e vengono usati per la mappatura automatica. Se è disattivato, le colonne del file vengono numerate (Colonna 1, Colonna 2, …).
Raccomandazione:
Prima di importare, verifica che tutte le colonne NOT NULL senza valore DEFAULT abbiano una colonna di origine assegnata; in caso contrario, il server rifiuterà le righe interessate.
Scegli come gestire i conflitti di chiave primaria o unica durante l'importazione dei dati.
Dove si trova: Albero dello schema › clic destro › Importa dati…
Nel Passo 3 dell'assistente di importazione puoi scegliere come deve comportarsi il server quando una riga importata entra in conflitto con una chiave primaria o unica esistente.
INSERT (predefinito):
Inserisce ogni riga normalmente. Se una riga viola un vincolo di chiave unica o primaria, l'importazione fallisce su quella riga e il lotto viene annullato. Usa questa modalità quando i dati non devono avere duplicati e vuoi rilevare i conflitti.
INSERT IGNORE:
Inserisce ogni riga normalmente, ma se una riga viola un vincolo di chiave, la salta silenziosamente e continua con la successiva. Gli errori di chiave duplicata non fermano l'importazione. Utile per importazioni tolleranti ai duplicati o quando esiste già un sottoinsieme dei dati nella tabella.
REPLACE:
Se una riga ha la stessa chiave primaria o unica di una riga esistente, elimina la riga esistente e inserisce quella nuova. Equivale a un DELETE seguito da un INSERT. Utile per aggiornare i dati esistenti con versioni più recenti del file. Tieni presente che REPLACE può attivare i trigger di DELETE e reimposta le colonne con DEFAULT se non sono presenti nel file.
Riepilogo:
Modalità
Duplicato trovato
Dati esistenti
INSERT
Errore — ferma il lotto
Vengono mantenuti
INSERT IGNORE
La riga nuova viene saltata
Vengono mantenuti
REPLACE
La riga viene sostituita
Vengono sovrascritti
Disponibile su macOS, iPad e iPhone.
Parole chiave: insert, insert ignore, replace, duplicati, conflitto, chiave primaria, chiave unica, modalità, importazione, replace into