Che cos'è SQL? Il linguaggio dei database spiegato in modo semplice
SQL (Structured Query Language, che si pronuncia « esse-cu-elle » o « sequel ») è il linguaggio standard per lavorare con i database relazionali, cioè quelli che memorizzano i dati in tabelle di righe e colonne, come Postgres, MySQL, SQLite e SQL Server. Usi SQL per fare domande sui tuoi dati (« quali clienti hanno prenotato questo mese? ») e per aggiungere, modificare o rimuovere record. Esiste dagli anni Settanta, è uno standard internazionale e alimenta una grande parte delle app del mondo.
Perché SQL conta quando crei con l'AI
Quando chiedi a un builder di app AI di « salvare gli ordini » o di « mostrare un elenco delle prossime prenotazioni », qualcosa deve dialogare con il database, e nella maggior parte delle app questo avviene con SQL, scritto direttamente o generato da un ORM.
Non devi scrivere SQL tu stesso, ma un po' di comprensione ripaga:
- Puoi controllare i tuoi dati. Una query breve risponde a « quante registrazioni abbiamo avuto questa settimana? » più in fretta che costruire una nuova schermata.
- Puoi chiedere report migliori. « Raggruppa i ricavi per mese e servizio » è un concetto SQL. Conoscerlo rende la tua richiesta più chiara.
- Puoi individuare modifiche pericolose. Un
DELETEo unUPDATEsenza clausolaWHEREinteressa ogni riga. Vale la pena notarlo prima che venga eseguito. - I tuoi dati non sono bloccati. SQL è uno standard condiviso, quindi i dati in un database SQL possono essere spostati e letti da molti strumenti.
Un'analogia quotidiana
Pensa a una biblioteca molto ben organizzata con un bibliotecario che parla solo un linguaggio preciso e semplice.
Non cerchi tra gli scaffali da solo. Consegni al bibliotecario un biglietto: « Trova tutti i libri di questo autore, pubblicati dopo il 2010, dal più recente. » Il bibliotecario conosce l'edificio a menadito e torna con esattamente quei libri, in quell'ordine.
SQL è il linguaggio di quel biglietto. Dici cosa vuoi, non come trovarlo: il database capisce da solo il percorso più rapido.
Come funziona SQL: tabelle, righe e colonne
Un database relazionale conserva i dati in tabelle. Ogni tabella contiene un tipo di cosa, ogni riga è un record e ogni colonna è un'informazione:
customers
| id | name | city | |
|---|---|---|---|
| 1 | Lena Ortiz | lena@example.com | Lisbona |
| 2 | Sam Patel | sam@example.com | Leeds |
orders
| id | customer_id | total | placed_at |
|---|---|---|---|
| 101 | 1 | 42.00 | 2026-09-20 |
| 102 | 2 | 18.50 | 2026-09-22 |
| 103 | 1 | 25.00 | 2026-09-27 |
La colonna customer_id collega ogni ordine a un cliente. Questo collegamento è ciò che rende il database « relazionale ».
Un esempio pratico: rispondere a domande reali
1. Leggere dati: « mostrami tutti i clienti di Lisbona »:
SELECT name, email
FROM customers
WHERE city = 'Lisbona';
2. Ordinare e limitare: « i cinque ordini più recenti »:
SELECT id, total, placed_at
FROM orders
ORDER BY placed_at DESC
LIMIT 5;
3. Combinare tabelle: « ogni ordine con il nome del cliente »:
SELECT o.id, c.name, o.total
FROM orders o
JOIN customers c ON c.id = o.customer_id;
4. Riassumere: « spesa totale per cliente »:
SELECT c.name, SUM(o.total) AS total_spent
FROM customers c
JOIN orders o ON o.customer_id = c.id
GROUP BY c.name
ORDER BY total_spent DESC;
Con i dati di esempio, restituisce Lena Ortiz con 67,00 e Sam Patel con 18,50.
5. Modificare dati:
INSERT INTO customers (name, email, city)
VALUES ('Ana Silva', 'ana@example.com', 'Porto');
UPDATE customers SET city = 'Porto' WHERE id = 1;
DELETE FROM orders WHERE id = 102;
Queste corrispondono alle quattro azioni base di quasi ogni app — creare, leggere, aggiornare ed eliminare, noti come CRUD.
Un avvertimento: UPDATE customers SET city = 'Porto'; senza clausola WHERE cambia tutti i clienti. Controlla sempre il WHERE prima di eseguire una modifica.
Le parti principali di SQL
| Comando | Cosa fa |
|---|---|
SELECT | Legge dati |
INSERT | Aggiunge nuove righe |
UPDATE | Modifica righe esistenti |
DELETE | Rimuove righe |
CREATE TABLE / ALTER TABLE | Crea o modifica la struttura di una tabella |
WHERE | Filtra quali righe vengono interessate |
JOIN | Combina tabelle correlate |
GROUP BY | Riassume le righe in gruppi, con COUNT, SUM, AVG |
ORDER BY / LIMIT | Ordina e limita i risultati |
SQL è standardizzato, ma ogni database aggiunge funzioni proprie, chiamate dialetto. Postgres, MySQL e SQLite comprendono tutti gli esempi sopra, mentre dettagli come le funzioni di data differiscono leggermente.
Termini chiave
| Termine | Significato |
|---|---|
| Query | Un'istruzione SQL, soprattutto quella che legge dati. |
| Tabella / riga / colonna | Un tipo di cosa / un record / un attributo. |
| Chiave primaria | La colonna che identifica in modo univoco ogni riga, di solito id. |
| Chiave esterna | Una colonna che punta a una riga di un'altra tabella, come customer_id. |
| Indice | Una struttura di ricerca che rende molto più veloce la ricerca in una colonna. |
| Schema | La struttura di tutte le tabelle e colonne. |
| Transazione | Un gruppo di modifiche che riescono o falliscono insieme. |
| SQL injection | Un attacco in cui l'input dell'utente viene infilato in una query. Si previene con query parametrizzate. |
Idee sbagliate comuni
- « SQL è un database. » SQL è il linguaggio; Postgres, MySQL e SQLite sono database che lo parlano.
- « SQL è vecchio, quindi è superato. » È maturo, non obsoleto. I database moderni e gli strumenti per i dati lo usano ancora, e quelli più recenti spesso aggiungono il supporto a SQL.
- « Solo gli sviluppatori possono usare SQL. » Analisti, marketer e fondatori usano query semplici ogni giorno.
- « SQL non sa gestire dati flessibili. » Molti database SQL memorizzano anche JSON. Postgres, ad esempio, ha il tipo
jsonb. Vedi SQL vs NoSQL. - « Lasciare che l'AI esegua qualunque SQL in produzione va bene. » Le letture sono a basso rischio; le modifiche e le cancellazioni sui dati reali meritano un backup e una seconda verifica. Vedi come fare il backup del database della tua app.
Cosa chiedere al tuo builder AI
- « Mostrami le tabelle del mio database e il significato di ogni colonna. »
- « Scrivi una query di sola lettura: quante nuove registrazioni al giorno negli ultimi 30 giorni? »
- « Prima di eseguire qualsiasi UPDATE o DELETE, mostrami la query e quante righe interesserà. »
- « Aggiungi indici sulle colonne che usiamo più spesso per filtrare e ordinare. »
- « Assicurati che ogni query che usa input dell'utente sia parametrizzata. »
- « Racchiudi gli aggiornamenti di ordini e pagamenti in una transazione così non possono riuscire a metà. »
SQL in Mythex
Quando la tua app deve archiviare dati, Mythex aggiunge al progetto un database Postgres dedicato: chiedilo in chat, ad esempio « salva le email della lista d'attesa in un database », oppure usa il comando /database (Database). L'agente crea le tabelle e scrive le query, e in modalità Ask puoi chiedergli di spiegare in linguaggio semplice una qualsiasi query. Per saperne di più sul database stesso, leggi cos'è Postgres.
Domande
Che cos'è SQL in parole semplici?
SQL (Structured Query Language) è il linguaggio standard per lavorare con i database relazionali. Lo usi per fare domande sui tuoi dati, ad esempio « quali ordini sono stati fatti questa settimana », e per aggiungere, modificare o eliminare record.
Come si pronuncia SQL?
Sono comuni e corrette sia « esse-cu-elle » (sillabando le lettere) sia « sequel ». Il linguaggio era originariamente chiamato SEQUEL, da cui deriva la seconda pronuncia.
SQL è un linguaggio di programmazione?
SQL è un linguaggio di interrogazione progettato per gestire i dati. Descrivi il risultato che vuoi e il database capisce da solo come ottenerlo. Da solo non serve a costruire intere app, ma è parte di quasi ogni app che usa un database relazionale.
SQL è difficile da imparare?
Le basi sono accessibili: SELECT, WHERE, ORDER BY, INSERT, UPDATE e DELETE coprono la maggior parte delle esigenze quotidiane e si leggono quasi come l'inglese. I join, i raggruppamenti e l'ottimizzazione delle prestazioni richiedono più tempo per essere padroneggiati.
Devo conoscere SQL per creare un'app con l'AI?
No. Un builder AI scrive per te il codice SQL o del database. Conoscerne un po' ti aiuta a controllare i tuoi dati, a chiedere report e a individuare modifiche rischiose prima che avvengano.