INSERT
Aggiungere una nuova riga
Sezione intitolata “Aggiungere una nuova riga”INSERT serve quando vuoi mettere nuovi dati dentro una tabella.
Se la tabella è una rubrica, INSERT aggiunge un nuovo contatto. Se è un catalogo prodotti, aggiunge un nuovo prodotto.
Ecco un esempio semplice:
INSERT INTO clienti (nome, email)VALUES ('Luca', 'luca@email.it');Puoi leggerlo così:
“Nella tabella
clienti, riempi le colonnenomeed
Il primo valore, 'Luca', finisce nella prima colonna indicata, cioè nome. Il secondo valore, 'luca@email.it', finisce in email.
Perché scrivere i nomi delle colonne
Sezione intitolata “Perché scrivere i nomi delle colonne”SQL permette anche forme più brevi, ma quando stai imparando è meglio indicare sempre le colonne.
Questa forma è poco chiara:
INSERT INTO clientiVALUES (1, 'Luca', 'luca@email.it');Funziona solo se conosci esattamente l’ordine delle colonne nella tabella.
Questa invece si legge meglio:
INSERT INTO clienti (id, nome, email)VALUES (1, 'Luca', 'luca@email.it');Anche tra qualche mese capirai subito cosa stai inserendo e dove.
Inserire più righe insieme
Sezione intitolata “Inserire più righe insieme”Se devi aggiungere più clienti, puoi farlo con un solo INSERT:
INSERT INTO clienti (nome, email)VALUES ('Marta', 'marta@email.it'), ('Paolo', 'paolo@email.it');Ogni coppia tra parentesi crea una nuova riga.
Quando manca un valore
Sezione intitolata “Quando manca un valore”Non tutte le colonne devono essere sempre compilate.
Se una colonna è facoltativa, puoi non inserirla. Se invece è obbligatoria, per esempio perché ha NOT NULL, il database rifiuterà la riga.
Per esempio, se nome è obbligatorio, questa query può fallire:
INSERT INTO clienti (email)VALUES ('senza.nome@email.it');Il database ti sta proteggendo da un dato incompleto: non vuole salvare un cliente senza nome.
Attenzione ai tipi di dato
Sezione intitolata “Attenzione ai tipi di dato”Ogni colonna si aspetta un certo tipo di valore.
INSERT INTO prodotti (nome, prezzo, disponibile)VALUES ('Tastiera', 39.90, TRUE);Qui stai inserendo:
- un testo:
'Tastiera' - un numero decimale:
39.90 - un valore vero/falso:
TRUE
Non tutti i database scrivono i valori booleani nello stesso identico modo, ma l’idea resta la stessa: ogni valore deve essere adatto alla sua colonna.
Prima di eseguire un INSERT
Sezione intitolata “Prima di eseguire un INSERT”Fai un controllo veloce:
- sto compilando le colonne obbligatorie?
- i valori sono nell’ordine giusto?
- ogni valore ha il tipo corretto?
Sono domande semplici, ma evitano molti errori.
Riepilogo rapido
Sezione intitolata “Riepilogo rapido”INSERT INTOaggiunge nuove righe.- Conviene indicare sempre le colonne.
VALUEScontiene i dati da inserire.- L’ordine dei valori deve seguire l’ordine delle colonne.
- Il database può rifiutare dati mancanti o del tipo sbagliato.