INSERT

Inserire record in una tabella già esistente.

VALUES

I valori da inserire nel (nei) record sono indicati esplicitamente o sono parametrici

INSERT INTO nome_tabella VALUES(elenco_valori);

Più record con una sola operazione

INSERT INTO nome_tabella
     VALUES (elenco_valori_1),
            (elenco_valori_2),
            ...,
            (elenco_valori_n);

Si inseriscono i valori per un certo elenco di campi

INSERT INTO nome_tabella(elenco_campi)
     VALUES (elenco_valori);

SELECT

I valori da inserire nei record sono il risultato di una query

INSERT INTO nome_tabella
  SELECT ...
  FROM ...;

oppure

INSERT INTO nome_tabella(elenco_campi)
  SELECT ...
  FROM   ...;

Note

  1. Sintassi
    • INTO, facoltativo
    • VALUES oppure VALUE
  2. Elenco campi
    • quando non è specificato si intende la sequenza originale
    • altrimenti devono corrispondere elenco_campi - elenco_valori
    • per i campi non compresi nell’elenco si utilizzeranno i valori di default
  3. Campo AUTOINCREMENT
    • viene inserito automaticamente il numero successivo al più grande utilizzato finora
    • si può specificare un valore ma che non sia già presente
  4. PRIMARY KEY, UNIQUE, FOREIGN KEY
    • l’inserimento fallisce se viola le regole di integrità stabilite.