Non ricordi la sintassi SQL?
Uno strumento che trasforma una richiesta scritta in italiano — “i clienti di Milano che hanno ordinato negli ultimi 30 giorni” — in una query SQL corretta, tenendo conto della struttura delle tue tabelle. Utile a chi conosce il database ma non ricorda a memoria ogni join e clausola.
Esegui online
Esegui questo sui nostri server con il tuo account. Gli strumenti gratuiti girano nel tuo browser; questo viene addebitato sul tuo saldo KIT al prezzo indicato sopra.
Descrivi le tabelle, poi chiedi in italiano
Incolli la struttura delle tabelle che ti interessano — bastano i nomi delle colonne, anche senza lo schema completo — e scrivi la domanda in italiano normale, come la faresti a un collega: “i clienti di Milano che hanno ordinato negli ultimi 30 giorni”. Il KIT restituisce la query SQL corrispondente, con i join necessari se la domanda coinvolge più tabelle e con i filtri giusti nella clausola WHERE, senza che tu debba ricordare la sintassi esatta di ogni clausola.
Perché è in beta
Su query semplici, su una o due tabelle, il risultato è quasi sempre corretto al primo colpo. Su domande ambigue o schemi molto complessi, con molte relazioni fra tabelle, conviene sempre rileggere la query prima di lanciarla su dati veri — soprattutto se modifica righe invece di limitarsi a leggerle. Per questo lo strumento è etichettato beta: un buon punto di partenza, non una garanzia assoluta su ogni schema possibile.
SELECT, ma anche UPDATE e DELETE (con attenzione)
Funziona anche per query che modificano dati, non solo per letture. Proprio perché una UPDATE o una DELETE sbagliata è pericolosa, conviene sempre testarla prima su un ambiente di prova, oppure aggiungere una clausola WHERE che limiti l'effetto mentre verifichi il risultato. Per query di sola lettura, invece, il rischio è minimo: al massimo la query non restituisce quello che ti aspettavi, e la correggi riformulando la domanda con più dettagli.
Prezzo e canali
$0.003 a richiesta più $0.0135 a query generata, senza abbonamento. Si usa dalla pagina web per query occasionali, incollando struttura e domanda ogni volta che ti serve un dato veloce; se lo colleghi a uno strumento interno di reportistica o a una dashboard aziendale, lo stesso motore risponde via API, allo stesso prezzo pubblicato, senza differenze di qualità fra i due canali di accesso.
Casi d'uso
Report veloce senza aspettare lo sviluppatore
Francesca Colombo, che segue l'amministrazione di Rossi & Figli S.r.l., ha accesso di sola lettura al database degli ordini ma non scrive SQL tutti i giorni. Descrive la domanda in italiano e ottiene la query da eseguire, senza aspettare un collega più tecnico.
Query complesse con più join
Un'analisi che richiede di incrociare clienti, ordini e prodotti — tre tabelle diverse — viene scritta descrivendo semplicemente cosa si vuole sapere, invece di ricostruire a mano ogni join.
Imparare SQL guardando esempi reali
Chi sta imparando SQL scrive la domanda in italiano, guarda la query generata e capisce come si costruisce quel tipo di richiesta, invece di studiare solo dalla documentazione.
Domande frequenti
Deve conoscere il mio database prima?
No, gli basta la struttura delle tabelle coinvolte che gli incolli tu: nomi delle colonne e, se lo sai, i tipi di dato. Non si collega al tuo database reale.
Perché è etichettato beta?
Perché su schemi molto complessi o domande ambigue conviene sempre rileggere la query prima di eseguirla: il risultato è un buon punto di partenza, non una garanzia assoluta.
Genera anche query che modificano dati?
Sì, UPDATE e DELETE oltre a SELECT. Proprio perché modificano dati, vanno sempre testate prima su un ambiente di prova.
Quanto costa?
$0.003 a richiesta più $0.0135 a query generata. A consumo, prezzo pubblicato, senza abbonamento.
La struttura delle tabelle che incollo resta privata?
Viene elaborata per generare la query e poi eliminata: non la conserviamo. Per schemi molto sensibili, valuta comunque cosa incolli, come con qualsiasi strumento online.
Funziona con qualsiasi dialetto SQL?
Riconosce le differenze principali tra MySQL, PostgreSQL e SQL Server; se lo dichiari all'inizio della richiesta, adatta la sintassi a quel dialetto.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/dev/text-to-sql \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/dev/text-to-sql", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/text-to-sql",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/text-to-sql", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/text-to-sql", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"input": "…"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.text_to_sql",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
422 | task_failed | L'attività non è andata a buon fine: non ti viene addebitato nulla. |