Een insert-opdracht in SQL voegt één of meer rijen toe aan een tabel in een relationele database.

Basisvorm bewerken

Insert-opdrachten hebben de volgende vorm:

  • INSERT INTO tabel (kolom1, [kolom2, ... ]) VALUES (waarde1, [waarde2, ...])

Het aantal kolommen en waarden moet hetzelfde zijn. Als een kolom niet opgegeven wordt, dan wordt de standaardwaarde gebruikt voor die kolom. De waarden die bij de insert-opdracht opgegeven (of als default verondersteld) worden moeten aan alle constraints voldoen. Wanneer één of meer constraints worden geschonden, treedt een syntaxisfout op en wordt de nieuwe rij niet toegevoegd.

Voorbeeld:

 
 INSERT INTO telefoonboek (naam, nummer) VALUES ('Piet Janssens', '555-1212')

Als er waarden gegeven worden voor alle kolommen in de tabel, dan mag een kortere notatie gebruikt worden waarbij de volgorde van de kolommen in de tabel moet worden aangehouden:

  • INSERT INTO tabel VALUES (waarde1, [waarde2, ...])

Voorbeeld (veronderstellende dat 'naam' en 'nummer' de enige kolommen zijn in de tabel 'telefoonboek'):

 
 INSERT INTO telefoonboek VALUES ('Piet Janssens', '555-1212')
  • INSERT INTO tabel SELECT ...

Deze constructie laat toe om velden te selecteren (via de Select (SQL)) en deze geselecteerde waarden als invoegwaarden te gebruiken in de insert-operatie. Op deze manier kan een aantal records/rijen van de ene tabel in een andere tabel worden gekopieerd. Voorbeeld (veronderstellende dat 'naam' en 'nummer' twee kolommen zijn in de tabel 'telefoonboek'):

 INSERT INTO TabelTwee (nummer, naam) SELECT nummer, naam FROM telefoonboek

Zie ook bewerken