SQL INSERT – Indsættelse af en eller flere rækker i en tabel

Oversigt: i denne vejledning lærer du, hvordan du bruger SQL INSERT-sætning til at indsætte data i tabeller.

INSERT sætningen indsætter en eller flere rækker i en tabel. INSERT udsagn omtales undertiden som et INSERT INTO udsagn.

SQL INSERT-sætning – indsæt en række i en tabel

Følgende illustrerer INSERT udsagn, der indsætter en enkelt række i en eksisterende tabel.

1
2

INDSÆT I tabel (kolonne1, kolonne2, …)
VÆRDIER (værdi1, værdi2, …);

For at indsætte en række i en tabel skal du angiv tre ting:

  • Først skal tabellen, som du vil indsætte en ny række, i INSERT INTO klausul.
  • For det andet en komma-adskilt liste over kolonner i tabellen omgivet af parenteser.
  • For det tredje en komma-adskilt liste over værdier omgivet af parenteser i VALUES klausul.

Kolonnelisten skal have det samme antal elementer som værdilisten, ellers udsteder databasemotoren en fejl.

Lad os se på ved følgende shippers tabel:


Følgende INSERT sætning indsætter en ny række i shippers tabellen:

1
2

INDSÆT I afsendere (selskabsnavn, telefon)
VÆRDIER (“Alliance afsendere”, “1-800-222-0451”);

To konstanter, "Alliance Shippers" og "1-800-222-0451" er specificeret i VALUES -sætningen. Databasemotoren indsatte dem i henholdsvis companyname og phone -kolonnerne.

Efter udførelsen af erklæringen blev databaseserveren returnerer en besked for at angive antallet af berørte rækker. I dette tilfælde får vi beskeden “1 række berørt” informeret om, at en ny række er indsat med succes.

Bemærk, at vi ikke specificerede shipperID kolonne i kolonnelisten, fordi shipperID kolonnen er en AUTO INCREMENT kolonne, databasemotoren genererer automatisk den næste sekvens for den, hver gang en ny række indsættes i tabellen.

For at hjælpe dig med at skrive mindre kode, giver SQL en kortere form af INSERT udsagn som følger:

1
2

INSERT INTO table
VALUES (value1, value2, …)

I denne form skal værdilisten have samme rækkefølge som kolonnelisten i tabellen. Hvis du bruger denne form for udsagn, skal du angive værdier for alle kolonner undtagen AUTO INCREMENT kolonnen.

Det er god praksis at bruge kolonnenavnene i INSERT udsagn for at gøre koden lettere at vedligeholde.

Følgende INSERT udsagn har samme effekt som den ovenfor:

1
2

INSERT INTO shippers
VALUES (” Alliance Shippers “,” 1-800-222-0451 “);

SQL INSERT-sætning – indsæt flere rækker i en tabel

INSERT sætningen giver dig også mulighed for at indsætte flere rækker i en tabel ved hjælp af en enkelt sætning som følger:

1
2
3
4

INDSÆT I tabelnavn (kolonne1, kolonne2…)
VÆRDIER (værdi1, værdi2,…),
(værdi1, værdi2,…) ,

I dette form, skal du angive flere lister med værdier, hver liste er adskilt med et komma.

Følgende INSERT sætning indsætter to rækker i shippers -tabellen:

1
2
3

INDSÆT I afsendere (firmanavn, telefon)
VÆRDIER (“UPS”, “1-800-782-7892”),
(“DHL”, “1-800-225-5345”)

SQL INSERT-sætning – kopier tabeldata

I stedet for at angive en liste over værdier kan du bruge en SELECT-sætning til at vælge værdier fra en anden tabel og levere dem til INSERT udmelding. Dette giver dig mulighed for at kopiere data fra en tabel til en anden tabel.

Følgende udsagn illustrerer, hvordan man kopierer data fra another_table til table:

1
2
3
4
5
6
7

INDSÆT I tabel (kolonne1, kolonne2, …)
VÆLG
kolonne1, kolonne2, …
FRA
en anden_tabel
HVOR
-tilstand

Listen over kolonner i SELECT -sætningen skal svare til listen over kolonner i INSERT INTO klausul. Hvis du kun vil kopiere delvise data, skal du angive en betingelse i WHERE-klausulen.

Antag at du har en midlertidig tabel med navnet shippers_tmp, der har den samme struktur som shippers -tabellen. For at kopiere data fra shippers -tabellen til shippers_tmp -tabellen bruger du følgende udsagn:

1
2
3
4
5

INDSÆT I shippers_tmp (afsender-id, navn, telefon)
VÆLG
afsender-id, firmanavn, telefon
FRA
afsendere

I denne vejledning har du lært, hvordan du bruger INSERT udsagnet til at indsætte en eller flere rækker i en tabel. Derudover lærte du også, hvordan man kopierer data fra en tabel til en anden tabel ved hjælp af INSERT SELECT INTO udsagn.

  • Var denne tutorial nyttigt?
  • JaNej

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *