Insert (SQL)
Eeninsert-opdracht inSQLvoegt een of meer rijen toe aan eentabelin eenrelationele database.
Basisvorm
[bewerken|brontekst bewerken]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