Editor SQL
Aprine uno con Ctrl+T, da File → Nuova query SQL o da Strumenti → Console query. Il selettore di database in cima all'editor decide su cosa viene eseguita la query.
Eseguire le query
| Azione | Come |
|---|---|
| Esegui tutto | F5 o Ctrl+Enter |
| Esegui solo una parte | Seleziona prima il testo, poi F5 — il pulsante diventa Esegui selezione |
| Ferma una query in corso | Stop nella barra degli strumenti |
Separa più istruzioni con ; ed esse vengono eseguite in ordine. Un ; dentro il corpo di una routine non è un fine istruzione, e ogni engine risolve la cosa a modo suo — la suddivisione gestisce tutti e quattro i modi, così procedure, funzioni e trigger vengono eseguiti come sono scritti:
| Meccanismo | Engine |
|---|---|
DELIMITER // | MySQL e MariaDB. La direttiva viene consumata da NabuSQL e mai inviata al server, che la rifiuterebbe |
$$ … $$ | Dollar quoting di PostgreSQL — tutto ciò che sta fra due tag identici resta un solo literal |
GO | Separatore di batch di SQL Server, riconosciuto solo sulle connessioni SQL Server; altrove GO è un normale identificatore |
BEGIN … END | Tutti gli engine. L'annidamento è tracciato e END IF / END LOOP / END WHILE chiudono il proprio costrutto, non il blocco |
DELIMITER $$
CREATE PROCEDURE archivia_ordini_vecchi()
BEGIN
DELETE FROM ordini WHERE creato_il < NOW() - INTERVAL 1 YEAR;
END$$
DELIMITER ;Poiché BEGIN … END viene riconosciuto da solo, la stessa procedura funziona anche incollata senza il blocco DELIMITER — come una procedura T-SQL o un trigger SQLite.
GO può portare un contatore di ripetizioni (GO 5). NabuSQL lo consuma ed esegue il batch una volta sola; la ripetizione è una funzione di sqlcmd e non è implementata. GOTO non viene mai trattato come separatore.
Leggere i risultati
I risultati compaiono sotto l'editor in una griglia con le stesse funzioni della griglia dati: ordinamento, filtri per colonna, visibilità delle colonne e copia in vari formati.
I risultati grandi vengono recuperati a pagine. Quando un risultato è troncato NabuSQL lo segnala, invece di mostrarti in silenzio una parte dei dati. I risultati sono memorizzati nella cache lato backend, quindi sfogliarli ed esportarli non riesegue la query.
Esporta risultati scrive il set corrente in CSV, TXT, JSON, XLSX, ODS, XML o SQL, nell'ordine in cui è ordinata la griglia. Esporta sempre l'intero risultato, non una selezione — vedi Esportare il risultato di una query.
Piano di esecuzione
F6 o il pulsante Explain esegue EXPLAIN sull'istruzione corrente e mostra il piano. Per una vista più approfondita — un albero del piano pesato per costo da EXPLAIN FORMAT=JSON — usa il profiler.
Formattazione
Ctrl+Shift+F riformatta l'istruzione con indentazione e maiuscole coerenti. È puramente estetico: non cambia mai ciò che la query fa.
Cronologia
La scheda Cronologia conserva ogni query eseguita, con durata, numero di righe ed eventuale errore. È ricercabile e ogni voce ha due pulsanti: Carica la rimette nell'editor, il pulsante di esecuzione la lancia subito.
Cancella svuota la cronologia previa conferma.
Salvare le query
Salva memorizza la query con un nome e la mostra nella barra laterale sotto Query per il database corrente.
Se la connessione ha una Cartella query configurata, lì compaiono anche i file .sql di quella cartella, contrassegnati come di sola lettura — vedi Trasferire connessioni e query.
Il clic destro su una query salvata offre Copia SQL, Duplica — la salva di nuovo come <nome>_copy1 — ed Elimina query. Selezionane più d'una con Ctrl-clic o Shift-clic e le stesse tre voci agiscono sull'intera selezione. Le query che provengono da un file .sql non possono essere eliminate da qui, ma possono essere duplicate: viene scritto un nuovo file nella cartella.
Modificare una query visivamente
Query visuale apre l'istruzione corrente — o la selezione, se ne hai una — nel generatore visuale di query, che rilegge il SELECT in tabelle, join e condizioni da trascinare. Le parti che non riesce a esprimere vengono segnalate, non tralasciate in silenzio.
Aiuto dall'AI
Il pulsante AI apre il pannello dell'assistente accanto all'editor, dove puoi descrivere una query in linguaggio naturale e ricevere SQL. È disattivato finché non configuri un provider — vedi Configurare un provider.
