PostgreSQL INFOGA: Infoga data i en tabell

⚡ Smart sammanfattning

PostgreSQL INSERT-satsen lägger till nya rader i en tabell med hjälp av SQL. Lessons täcker syntax, infogningar med en och flera rader, RETURNING-klausulen, standardvärden och att lägga till poster visuellt via pgAdmin-gränssnittet.

  • 📥 Grundläggande syntax: INSERT INTO table (cols) VALUES (vals) — kanonisk form.
  • 📋 Flera rader: Kommaseparerade värdetupler för att infoga många rader.
  • 🔄 ÅTERVÄNDANDE: Hämtar infogade rader i samma anrop.
  • ???? Standardvärden: Utelämnade kolumner får DEFAULT eller NULL.
  • 🖥️ pgAdmin GUI: Lägg till rader visuellt utan att skriva SQL.
  • 🤖 AI SQL: Copilot genererar parametriserade INSERTs.

PostgreSQL INFOGA

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

Vanliga frågor

Använd en enda INSERT med kommaseparerade tupler: INSERT INTO t (a,b) VALUES (1,2), (3,4). Mycket snabbare än flera enradiga INSERT-värden.

AI-verktyg genererar parametriserade INSERT-filer för att förhindra SQL-injektion, föreslår RETURNING-klausuler och konverterar kalkylbladsdata till INSERT-filer med flera rader.

Ja. AI producerar realistiska startdata, härleder kolumntyper från scheman och skriver Python eller shell-skript för att batch-bearbeta INSERTs.

RETURNING hämtar kolumner från raderna som just infogades i samma sats. Använd RETURNING * för alla kolumner eller lista specifika kolumner.

PostgreSQL har ingen fast radgräns, men mycket stora satser kan nå minnesgränser. Använd COPY för massinläsningar.

Använd alltid parametriserade frågor med platshållare för $1 och $2. Sammanfoga aldrig användarinmatning med INSERT SQL-strängar.

Ja. Öppna tabellen, välj Visa/Redigera data, lägg till en ny rad i rutnätet. pgAdmin genererar INSERT-satsen åt dig.

INSERT lägger till rad för rad via SQL. COPY strömmar massdata från filer mycket snabbare. Använd COPY för initiala inläsningar.

Sammanfatta detta inlägg med: