Cos'è l'inserimento dei dati?
Immagina di aver appena aperto un'università. Hai un database con delle tabelle, tipo students per salvare le info sugli studenti. È arrivato il momento di annunciare chi si è iscritto e aggiungere i loro dati nella tabella. In SQL per questo si usa il comando INSERT INTO. Ti permette di aggiungere una nuova riga nella tabella — come se stessi compilando una nuova riga in Excel, solo che è più veloce, potente e lo fai col codice!
Aggiungere dati non serve solo per le cose di base. Si usa ovunque — dal salvare ordini in un e-commerce al tenere traccia delle transazioni in banca. E per le università — sono le liste degli studenti, dei professori e pure l'orario delle lezioni.
Sintassi base del comando INSERT INTO
In SQL il comando INSERT INTO è il modo più semplice per aggiungere una nuova riga in una tabella. Vediamo la sintassi base:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
Spiegazione dei componenti:
table_name— il nome della tabella dove vuoi aggiungere i dati.(column1, column2, column3, ...)— la lista delle colonne per cui specifichi i valori.VALUES (value1, value2, value3, ...)— la lista dei valori che vuoi inserire nelle colonne corrispondenti.
Esempio: aggiungiamo un nuovo studente nella tabella students. Supponiamo di avere questa tabella:
| id | name | age | course |
|---|---|---|---|
| 1 | Otto Song | 18 | Matematica |
Ora aggiungiamo il secondo studente usando INSERT INTO:
INSERT INTO students (id, name, age, course)
VALUES (2, 'Anna Lin', 19, 'Informatica');
Dopo aver eseguito la query la tabella sarà così:
| id | name | age | course |
|---|---|---|---|
| 1 | Otto Song | 18 | Matematica |
| 2 | Anna Lin | 19 | Informatica |
Inserimento dati in tutte le colonne
Se vuoi inserire valori per tutte le colonne della tabella, puoi anche non scrivere i nomi delle colonne nel comando INSERT INTO. Ma puoi farlo solo se specifichi i valori per ogni colonna e nell'ordine giusto.
Sintassi:
INSERT INTO table_name
VALUES (value1, value2, value3, ...);
Esempio: supponiamo che aggiungi un altro studente nella tabella students:
INSERT INTO students
VALUES (3, 'Dan Sim', 20, 'Fisica');
Risultato:
| id | name | age | course |
|---|---|---|---|
| 1 | Otto Song | 18 | Matematica |
| 2 | Anna Lin | 19 | Informatica |
| 3 | Dan Sim | 20 | Fisica |
Però questo modo può essere rischioso se la struttura della tabella cambia. Quindi è meglio sempre specificare la lista delle colonne per evitare errori.
Applicazione pratica: aggiungere uno studente
Proviamo ad aggiungere un nuovo studente nella nostra tabella students, usando tutto il potenziale del comando INSERT INTO.
Passo 1: Controlla i dati attuali
Prima di iniziare, è utile vedere che dati ci sono già nella tabella. Usiamo il comando SELECT:
SELECT * FROM students;
Passo 2: Aggiungi il nuovo studente
Ora aggiungiamo lo studente Peter Chi, che studia "Biologia" e ha 21 anni:
INSERT INTO students (id, name, age, course)
VALUES (4, 'Peter Chi', 21, 'Biologia');
Passo 3: Controlla che i dati siano stati aggiunti
Facciamo di nuovo una query per vedere tutti i dati:
SELECT * FROM students;
Risultato:
| id | name | age | course |
|---|---|---|---|
| 1 | Otto Song | 18 | Matematica |
| 2 | Anna Lin | 19 | Informatica |
| 3 | Dan Sim | 20 | Fisica |
| 4 | Peter Chi | 21 | Biologia |
Figo, vero? Ora Peter è stato aggiunto alla nostra università.
Errori tipici quando usi INSERT INTO
Non corrisponde la lista delle colonne e dei valori. Se, per esempio, scrivi 4 colonne ma provi a inserire solo 3 valori, SQL ti darà errore:
INSERT INTO students (id, name, age)
VALUES (5, 'Eva Green', 22, 'Chimica');
Errore: il numero delle colonne non corrisponde al numero dei valori.
Violazione dei vincoli. Se una colonna richiede unicità (UNIQUE) o è obbligatoria NOT NULL, violare queste regole causerà un errore.
Tipi di dati.
Se provi a inserire testo in un campo numerico, anche PostgreSQL non sarà contento:
INSERT INTO students (id, name, age, course)
VALUES (5, 'Axel Linz', 'ventuno', 'Chimica');
Perché ti serve nei progetti reali?
Conoscere il comando INSERT INTO è una skill che ti servirà praticamente in tutte le app che lavorano con i database. Nella vita reale userai questo comando per:
- Registrare nuovi utenti nel sistema.
- Aggiungere ordini negli e-commerce.
- Salvare dati sui pagamenti nei sistemi di pagamento.
- Aggiornare ogni giorno dati su studenti, presenze e voti nei sistemi educativi.
Ogni volta che le tue app interagiscono con utenti o fonti di dati esterne, il comando INSERT INTO diventa lo strumento principale per scrivere questi dati nel database.
Se lavori con app backend o vuoi creare API per gestire dati, saper inserire dati con SQL è una skill di base, ma davvero fondamentale!
GO TO FULL VERSION