PostgreSQL INFOGA: Infoga data i en tabell

PostgreSQL INSERT-sats

In PostgreSQL, hjรคlper insert-satsen att infoga en ny rad eller rad i tabellen. Du kan infoga rader som anges av vรคrdeuttryck, noll eller flera rader som hรคrrรถr frรฅn frรฅgan.

Syntax fรถr PostgreSQL INSERT IN

INSERT INTO TABLE_NAME (column1, column2, ...columnN)
VALUES (value1, value2,...valueN);

Du kan se i ovanstรฅende syntaxkolumn 1 till N รคr namnen pรฅ kolumnerna i tabellen som du ville infoga data i. Mรฅlkolumnen mรฅste listas i valfri ordning. Vรคrdena som tillhandahรฅlls av frรฅgan eller vรคrdesatsen รคr antingen motsvarande vรคrden fรถr kolumnerna.

Nรคr frรฅgan har kรถrts kan du se utmatningsmeddelandet.

Insert oid 1

Detta utgรฅende meddelande kommer att visas om endast en enstaka rad infogas, oid รคr det numeriska OID som tilldelats den infogade raden.

Exempel pรฅ PostgreSQL Sรคtt in i tabell

Betrakta fรถljande tabell, "tutorials", med tvรฅ kolumner.

"id" heltal DEFAULT vรคrde 1
"tutorial_name" text DEFAULT vรคrde postgre
Och inga begrรคnsningar

PostgreSQL Sรคtt in i tabell

Hรคr รคr steg fรถr PostgreSQL infoga i tabellen:

Steg 1) Infogar en rad i

INSERT INTO tutorials(id, tutorial_name) VALUES (1, 'postgre');

PostgreSQL Sรคtt in i tabell

ANMร„RKNINGAR: Endast tecknen eller datumvรคrdena behรถver omges av enkla citattecken nรคr du infogar en rad.

Steg 2) Men om du infogar data i alla kolumner kan du utelรคmna kolumnnamnen. Samma infogningssats kan ocksรฅ skrivas som,

INSERT INTO tutorials VALUES (1, 'postgre');

PostgreSQL Sรคtt in i tabell

Steg 3) Datavรคrdena listas i den ordning som kolumnerna visas i tabellen, separerade med kommatecken.

Ovanstรฅende syntax har ett problem som du behรถver fรถr att veta ordningen pรฅ kolumnerna i tabellen. Fรถr att รถvervinna detta problem kan du ocksรฅ lista kolumnerna explicit.

Till exempel har bรฅda nedan givna kommandon samma effekt som visas nedan:

INSERT INTO tutorials(id, tutorial_name) VALUES (1, 'postgre');
INSERT INTO tutorials(tutorial_name, id) VALUES ('postgre',1);

PostgreSQL Sรคtt in i tabell

Steg 4) I det hรคr exemplet kan du se att om du inte har vรคrden fรถr alla kolumner kan du utelรคmna nรฅgra av dem.

I sรฅ fall kommer kolumnerna automatiskt att fyllas med sina standardvรคrden om de anges.

INSERT INTO tutorials(id) VALUES (5);

PostgreSQL Sรคtt in i tabell

Steg 5) Du kan ocksรฅ begรคra standardvรคrden fรถr enskilda kolumner eller hela raden:

INSERT INTO tutorials(id, tutorial_name) VALUES (1, DEFAULT);
INSERT INTO tutorials DEFAULT VALUES;

PostgreSQL Sรคtt in i tabell

Steg 6) Du kan flera rader med ett enda kommando:

INSERT INTO tutorials(id, tutorial_name) VALUES
(1, 'postgre'),
(2, 'oracle'),
(3, 'mysql'),
(4, 'mongo');

PostgreSQL Sรคtt in i tabell

Steg 7) In PostgreSQL, รคr det ocksรฅ fรถr att infoga resultatet av en frรฅga som kanske inte รคr nรฅgra rader, en rad eller flera rader:

INSERT INTO tutorials (id, tutorial_name)
SELECT id, tutorial_name FROM tutorials
WHERE tutorial_name = 'mysql';

PostgreSQL Sรคtt in i tabell

PostgreSQL Infoga uttalande med pgAdmin

Hรคr รคr steg fรถr att infoga uttalande med hjรคlp av pgAdmin i Postgre SQL

Steg 1) I objekttrรคdet

  1. Hรถgerklicka pรฅ tabellen dรคr du vill infoga data
  2. Vรคlj Skript
  3. INFOGA skript

PostgreSQL Infoga uttalande med pgAdmin

Steg 2) I infogningspanelen

  1. Redigera frรฅgan
  2. Klicka pรฅ belysningsknappen
  3. Observera utgรฅngen

PostgreSQL Infoga uttalande med pgAdmin

Steg 3) Du kan ocksรฅ gรฅ till Verktyg > Frรฅgeverktyg fรถr att รถppna Frรฅgeredigeraren, men du fรฅr inte standardinfogningsfrรฅgan.

PostgreSQL Infoga uttalande med pgAdmin

Sammanfattning

Kod/parameter/tips BESKRIVNING
INFOGA I TABLE_NAME (kolumn1, kolumn2, โ€ฆkolumnN)
Vร„RDEN (vรคrde1, vรคrde2,...vรคrdeN);
Anvรคnds fรถr att infoga vรคrden i en tabell
INSERT INTO tutorials(id, tutorial_name) VALUES (1, 'postgre');
INSERT INTO tutorials(tutorial_name, id) VALUES ('postgre',1);
Kolumnernas ordning รคr inte viktig. Bรฅda kommer att ha samma effekt.
INSERT INTO tutorials VALUES (1, 'postgre'); Om du anger vรคrden fรถr alla kolumner behรถver du inte specificera
INFOGA IN tutorials (id, tutorial_name)
SELECT id, tutorial_name FRร…N tutorials
WHERE tutorial_name = 'mysql';
Du kan ange enstaka eller flera underfrรฅgor som refereras till med namn i INSERT-frรฅgan.
URSPRUNGLIGA Vร„RDEN Anvรคnd denna sats fรถr att fylla alla kolumner med deras standardvรคrden.
Uttrycket Ett vรคrde och uttryck som bรถr tilldelas motsvarande kolumn.
omeDEFAULT Standardsatsen anvรคnds nรคr motsvarande kolumn รคr fylld med dess standardvรคrde.

Sammanfatta detta inlรคgg med: