SQL INSERT – Sette inn en eller flere rader i en tabell

Sammendrag: i denne opplæringen lærer du hvordan du bruker SQL INSERT-setning for å sette inn data i tabeller.

INSERT setningen setter inn en eller flere rader i en tabell. INSERT utsagnet blir noen ganger referert til som et INSERT INTO utsagn.

SQL INSERT-setning – sett inn en rad i en tabell

Følgende illustrerer INSERT utsagn som setter inn en enkelt rad i en eksisterende tabell.

1
2

INSERT IN tabell (kolonne1, kolonne2, …)
VERDIER (verdi1, verdi2, …);

For å sette inn en rad i en tabell, må du spesifiser tre ting:

  • Først tabellen, som du vil sette inn en ny rad, i INSERT INTO klausulen.
  • For det andre en kommaseparert liste over kolonner i tabellen omgitt av parenteser.
  • For det tredje en kommaseparert liste over verdier omgitt av parenteser i VALUES klausul.

Kolonnelisten må ha samme antall elementer som verdilisten, ellers vil databasemotoren utstede en feil.

La oss ta en titt ved følgende shippers tabell:


Følgende INSERT uttalelse setter inn en ny rad i shippers tabellen:

1
2

INSERT INTO shippers (companyyname, phone)
VALUES («Alliance Shippers», «1-800-222-0451»);

To konstanter, "Alliance Shippers" og "1-800-222-0451" er spesifisert i VALUES klausulen. Databasemotoren satte dem inn i henholdsvis companyname og phone -kolonnene.

Etter at uttalelsen ble utført, ble databaseserveren returnerer en melding for å indikere antall berørte rader. I dette tilfellet får vi en melding «1 rad berørt» informert om at en ny rad er satt inn vellykket.

Legg merke til at vi ikke spesifiserte shipperID kolonne i kolonnelisten fordi shipperID kolonnen er en AUTO INCREMENT kolonne, genererer databasemotoren neste sekvens for den automatisk hver gang en ny rad blir satt inn i tabellen.

For å hjelpe deg med å skrive mindre kode, gir SQL en kortere form av INSERT -uttalelsen som følger:

1
2

INSERT IN tabell
VERDIER (verdi1, verdi2, …)

I dette skjemaet må verdilisten ha samme rekkefølge som kolonnelisten i tabellen. Hvis du bruker denne formen for uttalelse, må du oppgi verdier for alle kolonner unntatt AUTO INCREMENT kolonnen.

Det er god praksis å bruke kolonnenavnene i INSERT uttalelse for å gjøre koden lettere å vedlikeholde.

Følgende INSERT uttalelse har samme effekt som den over:

1
2

INSERT INTO shippers
VALUES (» Alliance Shippers «,» 1-800-222-0451 «);

SQL INSERT-setning – sett inn flere rader i en tabell

Uttrykket INSERT lar deg også sette inn flere rader i en tabell med en enkelt setning som følger:

1
2
3
4

INSERT INTO table_name (column1, column2…)
VALUES (value1, value2,…),
(value1, value2,…) ,

I dette skjema, må du oppgi flere lister med verdier, hver liste er atskilt med komma.

Følgende INSERT setning setter inn to rader i shippers tabellen:

1
2
3

INSERT INTO shippers (companyName, phone)
VALUES («UPS», «1-800-782-7892»),
(«DHL», «1-800-225-5345»)

SQL INSERT-setning – kopier tabelldata

I stedet for å spesifisere en liste over verdier, kan du bruke en SELECT-setning for å velge verdier fra en annen tabell og levere dem til INSERT uttalelse. Dette lar deg kopiere data fra en tabell til en annen tabell.

Følgende uttalelse illustrerer hvordan du kopierer data fra another_table til table:

1
2
3
4
5
6
7

INSERT INTO-tabell (kolonne1, kolonne2, …)
VELG
kolonne1, kolonne2, …
FRA
en annen tabell
HVOR
tilstand

Kolonnelisten i SELECT -satsen må svare til listen over kolonner i INSERT INTO klausul. Hvis du bare vil kopiere delvise data, må du angi en tilstand i WHERE-setningen.

Anta at du har en midlertidig tabell med navnet shippers_tmp som har det samme struktur som shippers tabellen. For å kopiere data fra shippers tabellen til shippers_tmp tabellen, bruker du følgende utsagn:

1
2
3
4
5

INSERT INTO shippers_tmp (shipperid, name, phone)
VELG
shipperid, firmanavn, telefon
FRA
avsendere

I denne opplæringen har du lært hvordan du bruker setningen INSERT for å sette inn en eller flere rader i en tabell. I tillegg lærte du også hvordan du kopierer dataene fra en tabell til en annen tabell ved å bruke INSERT SELECT INTO -uttalelsen.

  • Var denne veiledningen nyttig?
  • JaNei

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *