Syntaks#edit
INSERT-spørringer består av spesifikasjonene INSERT INTO og VALUES. INSERT INTO bestemmer hvilken tabell og hvilke kolonner verdiene skal settes inn i, og VALUES spesifiserer verdiene som skal settes inn.
For å sette inn verdier i alle kolonnene, benyttes en slik spørring:
INSERT INTO tabell VALUES ( "Verdi 1 i rad 1", "Verdi 2 i rad 1", "Verdi 3 i rad 1" ), ( "Verdi 1 i rad 2", "Verdi 2 i rad 2", "Verdi 3 i rad 2" ), ( "Verdi 1 i rad 3", "Verdi 2 i rad 3", "Verdi 3 i rad 3" )
For å sette inn verdier i noen av kolonnene, benyttes en slik spørring:
INSERT INTO tabell ( kolonne1, kolonne3 ) VALUES ( "Verdi 1 i rad 1", "Verdi 3 i rad 1" ), ( "Verdi 1 i rad 2", "Verdi 3 i rad 2" ), ( "Verdi 1 i rad 3", "Verdi 3 i rad 3" )
Antallet kolonner og verdier må være det samme. Hvis en kolonne ikke er spesifisert, vil en forhåndsdefinert verdi for kolonnen bli benyttet. Verdiene spesifisert av INSERT-utsagnet må tilfredsstille alle begrensningene for tabellen, for eksempel primærnøkler eller NOT NULL-begrensninger. Hvis en syntaksfeil oppstår, eller noen av begrensningene er brutt, vil ikke den nye raden legges til i tabellen og en feilmelding vil bli returnert.
En INSERT-spørring kan også brukes til å hente ut data fra andre tabeller, endre det hvis ønskelig, og sette det inn i en ny tabell. Dette kan gjøres ved hjelp av en enkelt spørring som ikke involverer noen mellomprosessering i klientapplikasjonen. En nøstet SELECT-spørring brukes i stedet for VALUES. Den nøstede spørringen kan inneholde JOIN, funksjonskall, og kan referere til den samme tabellen som data skal settes inn i.
INSERT INTO tabell2
SELECT *
FROM tabell1
WHERE kolonne IN ("Verdi1", "Verdi2")
SELECT-uttrykket produserer en midlertidig tabell, og skjemaet til den midlertidige tabellen må være likt skjemaet i tabellen som skal motta data.
Eksempel#edit
Tabellen telefonbok ser slik ut:
| fornavn | etternavn | bosted | telefonnummer |
|---|---|---|---|
| Ola | Nordmann | Oslo | 01234567 |
| Navn | Navnesen | Bergen | 88765432 |
Denne spørringen blir sendt:
INSERT INTO telefonbok ( fornavn, etternavn, telefonnummer ) VALUES ( "Jens", "Jensen", 11223344 ), ( "Kari", "Nordmann", 99887766 )
Tabellen ser da slik ut:
| fornavn | etternavn | bosted | telefonnummer |
|---|---|---|---|
| Ola | Nordmann | Oslo | 01234567 |
| Navn | Navnesen | Bergen | 88765432 |
| Jens | Jensen | 11223344 | |
| Kari | Nordmann | 99887766 |
This article is mirrored from “Insert (SQL)” on Norsk bokmål Wikipedia, revision 20372257, written by Wikipedia's contributors and licensed CC BY-SA 4.0. Editing it here creates a Quire copy with its own history.
Synced with Wikipedia revision 20372257 · just now