INSERT con più righe
Inserisca una o più righe con un’unica istruzione e usi INSERT ... SELECT per copiare dati tra tabelle
INSERT con più righe è una lezione SQL Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento SQL Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso SQL Academy include 4 lezioni in totale.
INSERT di una singola riga
La forma più semplice indica le colonne e fornisce i valori:
INSERT INTO users (email, full_name)
VALUES ('alice@example.com', 'Alice Adams');INSERT di più righe
Inserire molte righe in un'unica istruzione. È più veloce di molte comunicazioni separate:
INSERT INTO users (email, full_name) VALUES
('alice@example.com', 'Alice Adams'),
('bob@example.com', 'Bob Brown'),
('carol@example.com', 'Carol Chen');Perché le inserzioni su più righe sono più veloci
Meno round-trip al database, meno cicli di parsing e pianificazione, un solo flush del WAL. Per gli inserimenti massivi di centinaia di righe, multi-VALUES è da 5 a 10 volte più veloce rispetto all'inserimento di una riga alla volta.
Valori predefiniti
Omettere una colonna per usare il relativo DEFAULT (o NULL):
INSERT INTO orders (user_id, total)
VALUES (1, 99.50);
-- id, created_at, status filled by DEFAULTsDEFAULT esplicito
In alternativa, usare la parola chiave DEFAULT:
INSERT INTO orders (id, user_id, total, status)
VALUES (DEFAULT, 1, 99.50, DEFAULT);RETURNING
Ottenere le colonne delle righe inserite senza eseguire una seconda query (PostgreSQL):
INSERT INTO users (email, full_name)
VALUES ('alice@example.com', 'Alice Adams')
RETURNING id, created_at;INSERT … SELECT
Copiare o trasformare righe provenienti da un'altra tabella:
INSERT INTO archive_orders (id, user_id, total)
SELECT id, user_id, total
FROM orders
WHERE created_at < NOW() - INTERVAL '5 years';Caricamento massivo con COPY
Per decine di migliaia di righe o più, usare il comando COPY: è di gran lunga il metodo più veloce:
COPY users (email, full_name) FROM '/tmp/users.csv' (FORMAT csv, HEADER true);
-- Or from STDIN in a client:
COPY users (email, full_name) FROM STDIN;
alice@example.com\tAlice
bob@example.com\tBob
\.Evitare inserimenti in transazioni molto grandi senza motivo
Una transazione equivale a un blocco atomico. Se un'importazione di un milione di righe fallisce a metà, l'intera operazione viene annullata. A volte è ciò che serve; altre volte conviene creare batch da 10.000 righe.
Suggerimenti sulle prestazioni di INSERT
Per gli inserimenti di grandi dimensioni:
- Eliminare gli indici secondari, eseguire l'inserimento e ricrearli
- Disabilitare i trigger e i controlli delle chiavi esterne, se sicuro
- Usare COPY quando possibile
- Regolare
maintenance_work_memper la ricostruzione degli indici
Anteprima della gestione dei conflitti
Per "inserire se nuovo, altrimenti aggiornare", usare INSERT ... ON CONFLICT: l'argomento è trattato nella prossima lezione.
Riepilogo
INSERT è semplice; VALUES su più righe e INSERT … SELECT coprono i casi d'uso quotidiani. RETURNING evita round-trip aggiuntivi. Per i caricamenti massivi, usare COPY.
Verifica rapida
Qual è il modo più veloce per caricare 100.000 righe da un file CSV in PostgreSQL?
Domande Frequenti
La lezione «INSERT con più righe» è gratuita?
Sì — il testo completo di «INSERT con più righe» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso SQL Academy, passa a CoddyKit PRO. Il corso SQL Academy include 4 lezioni in totale.
Cosa imparerò in «INSERT con più righe»?
Inserisca una o più righe con un’unica istruzione e usi INSERT ... SELECT per copiare dati tra tabelle Eserciti SQL Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare SQL Academy?
Non è richiesta alcuna esperienza precedente. SQL Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «INSERT con più righe»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione SQL Academy?
Sì. Ogni lezione SQL Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- INSERT con più righe
- UPSERT: ON CONFLICT DO UPDATE (PostgreSQL)
- UPDATE con FROM e aggiornamenti in stile JOIN
- DELETE con USING e pattern sicuri