Naar inhoud springen

Insert (SQL)

Uit Wikipedia, de vrije encyclopedie

Eeninsert-opdracht inSQLvoegt een of meer rijen toe aan eentabelin eenrelationele database.

Insert-opdrachten hebben de volgende vorm:

  • INSERT INTOtabel(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 alsdefaultverondersteld) worden moeten aan alleconstraintsvoldoen. Wanneer één of meer constraints worden geschonden, treedt een syntaxisfout op en wordt de nieuwe rij niet toegevoegd.

Voorbeeld:


INSERTINTOtelefoonboek(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 INTOtabelVALUES (waarde1,[waarde2,...])

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


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

Deze constructie laat toe om velden te selecteren (via deSelect (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'):

INSERTINTOTabelTwee(nummer,naam)SELECTnummer,naamFROMtelefoonboek