PostgreSQL - INSERT Query: A Beginner's Guide

Ciao a tutti, futuri maghi dei database! Oggi esploreremo il meraviglioso mondo di PostgreSQL e impareremo una delle sue operazioni fondamentali: la query INSERT. Non preoccupatevi se siete nuovi al programming - vi guiderò passo dopo passo, proprio come ho fatto per centinaia di studenti durante gli anni della mia insegnanza. Allora, prendetevi una tazza di caffè (o tè, se è più il vostro stile) e iniziamo!

PostgreSQL - Insert Query

Cos'è una Query INSERT?

Prima di immergerci nella sintassi ed esempi, capiremo cosa fa effettivamente una query INSERT. Immaginate di avere un grande libro (il nostro database) con molte pagine (tabelle). Una query INSERT è come scrivere una nuova voce in una di queste pagine. È il modo in cui aggiungiamo nuove informazioni alle nostre tabelle del database.

Sintassi

Ora, esaminiamo la sintassi di base di una query INSERT in PostgreSQL:

INSERT INTO nome_tabella (colonna1, colonna2, colonna3, ...)
VALUES (valore1, valore2, valore3, ...);

Non lasciatevi intimidire! Scomponiamo tutto:

  • INSERT INTO: Questo è il modo in cui diciamo a PostgreSQL che vogliamo aggiungere nuovi dati.
  • nome_tabella: Questo è il nome della tabella dove vogliamo aggiungere i nostri dati.
  • (colonna1, colonna2, colonna3, ...): Queste sono le colonne nella nostra tabella che vogliamo riempire con dati.
  • VALUES: Questa parola chiave introduce i dati effettivi che stiamo inserendo.
  • (valore1, valore2, valore3, ...): Questi sono i valori che stiamo aggiungendo, corrispondenti alle colonne che abbiamo specificato.

Esempi

Esempio 1: Inserire una Singola Riga

Immaginiamo di avere una tabella chiamata students con le colonne id, name, e age. Ecco come potremmo aggiungere un nuovo studente:

INSERT INTO students (id, name, age)
VALUES (1, 'John Doe', 20);

Cosa sta succedendo qui? Stiamo aggiungendo un nuovo studente con un ID di 1, di nome John Doe, che ha 20 anni. È come compilare un modulo per un nuovo studente che si unisce alla nostra classe!

Esempio 2: Inserire Multiple Righe

PostgreSQL ci permette di inserire più righe in una volta sola. È come iscrivere più studenti contemporaneamente:

INSERT INTO students (id, name, age)
VALUES
(2, 'Jane Smith', 22),
(3, 'Bob Johnson', 21),
(4, 'Alice Brown', 23);

Questa query aggiunge tre nuovi studenti alla nostra tabella in un colpo solo. Efficiente, vero?

Esempio 3: Inserire con Valori Predefiniti

A volte, le nostre tabelle hanno valori predefiniti per alcune colonne. Possiamo saltare la specifica di questi:

INSERT INTO students (name, age)
VALUES ('Charlie Davis', 19);

In questo caso, se la colonna id è impostata per auto-incremento, PostgreSQL assegnerà automaticamente l'ID successivo disponibile.

Output

Dopo aver eseguito una query INSERT, PostgreSQL tipicamente restituisce un messaggio che indica quante righe sono state inserite. Ad esempio:

INSERT 0 1

Questo significa che una riga è stata inserita con successo. Se abbiamo inserito più righe, potrebbe apparire così:

INSERT 0 3

indicando che sono state aggiunte tre righe.

Tecniche di INSERT Avanzate

Inserire Dati da un'Altra Tabella

A volte, potremmo voler copiare dati da una tabella a un'altra. PostgreSQL lo rende facile:

INSERT INTO new_students (name, age)
SELECT name, age FROM students WHERE age < 21;

Questa query copia tutti gli studenti sotto i 21 anni dalla tabella students a una tabella new_students. È come creare una classe speciale per studenti più giovani!

Inserire con una Clausola RETURNING

PostgreSQL ha una funzionalità carina che ci permette di vedere cosa è stato inserito:

INSERT INTO students (name, age)
VALUES ('David Wilson', 24)
RETURNING *;

Questa query non solo inserisce David nella nostra tabella, ma ci mostra anche la riga completa che è stata aggiunta, inclusi eventuali valori predefiniti o automaticamente generati.

Metodi Comuni di INSERT

Ecco una tabella che riassume i metodi di INSERT che abbiamo discusso:

Metodo Descrizione Esempio
Insert di Base Inserisce una singola riga INSERT INTO students (name, age) VALUES ('John Doe', 20);
Insert Multiplo Inserisce più righe in una volta INSERT INTO students (name, age) VALUES ('Jane', 22), ('Bob', 21);
Insert con Valori Predefiniti Permette al database di riempire i valori predefiniti INSERT INTO students (name) VALUES ('Alice');
Insert da Select Copia dati da un'altra tabella INSERT INTO new_students SELECT * FROM students WHERE age < 21;
Insert con Returning Inserisce e restituisce i dati aggiunti INSERT INTO students (name, age) VALUES ('David', 24) RETURNING *;

Conclusione

Eccoci, ragazzi! Abbiamo viaggiato attraverso il regno delle query INSERT di PostgreSQL. Dalla aggiunta di un singolo studente alla nostra classe all'iscrizione di un intero gruppo, ora avete il potere di popolare i vostri database con facilità.

Ricordate, la pratica fa la perfezione. Provate a creare le vostre tabelle e ad inserire diversi tipi di dati. Forse create una tabella per i vostri libri preferiti o film e iniziate ad aggiungere elementi. Prima di sapere, sarete in grado di inserire dati come un professionista!

Buon coding, e possa i vostri database sempre essere ben popolati e senza errori!

Credits: Image by storyset