PostgreSQL INSERT: Indsættelse af data i en tabel

⚡ Smart opsummering

PostgreSQL INSERT-sætningen tilføjer nye rækker til en tabel ved hjælp af SQL. Lessons dækker syntaks, indsættelser med én og flere rækker, RETURNING-klausulen, standardværdier og visuel tilføjelse af poster via pgAdmin-grænsefladen.

  • 📥 Grundlæggende syntaks: INDSÆT I tabel (kolonner) VÆRDIER (værdier) — kanonisk form.
  • ???? Flere rækker: Kommaseparerede værditupler for at indsætte mange rækker.
  • 🔄 RETURNERING: Henter indsatte rækker i samme kald.
  • 💡 Standardindstillinger: Udeladte kolonner modtager DEFAULT eller NULL.
  • 🖥️ pgAdmin GUI: Tilføj rækker visuelt uden at skrive SQL.
  • 🤖 AI SQL: Copilot genererer parametriserede INSERT'er.

PostgreSQL INSERT

PostgreSQL INSERT erklæring

In PostgreSQL, hjælper insert-sætningen med at indsætte en ny række eller række i tabellen. Du kan indsætte rækker, der er angivet med værdiudtryk, nul eller flere rækker, der stammer fra forespørgslen.

Syntaks af PostgreSQL INDSÆT IND

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

Du kan se i ovenstående syntaks kolonne 1 til N er navnene på kolonnerne i tabellen, som du ønskede at indsætte data i. Målkolonnen skal vises i en specifik rækkefølge. Værdierne leveret af forespørgslen eller værdier klausulen er enten de tilsvarende værdier for kolonnerne.

Når forespørgslen er udført, kan du se outputmeddelelsen.

Insert oid 1

Denne udgangsmeddelelse vil blive vist, hvis der kun er indsat en enkelt række, oid er den numeriske OID, der er tildelt den indsatte række.

Eksempel PostgreSQL Indsæt i tabel

Overvej følgende tabel, "øvelser", med to kolonner.

"id" heltal DEFAULT værdi 1
"tutorial_name" tekst STANDARD værdi postgre
Og ingen begrænsninger

PostgreSQL Indsæt i tabel

Her er trin til PostgreSQL indsæt i tabellen:

Trin 1) Indsætter en række i

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

PostgreSQL Indsæt i tabel

BEMÆRK: Kun tegnene eller datoværdierne skal omgives af enkelte anførselstegn ved indsættelse af en række.

Trin 2) Men hvis du indsætter data i alle kolonnerne, kan du udelade kolonnenavnene. Den samme indsætningserklæring kan også skrives som,

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

PostgreSQL Indsæt i tabel

Trin 3) Dataværdierne er anført i den rækkefølge, som kolonnerne vises i tabellen, adskilt af kommaer.

Ovenstående syntaks har et problem, som du skal kende rækkefølgen af ​​kolonnerne i tabellen. For at overvinde dette problem kan du også angive kolonnerne eksplicit.

For eksempel har begge nedenstående kommandoer den samme effekt som vist nedenfor:

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

PostgreSQL Indsæt i tabel

Trin 4) I dette eksempel kan du se, at hvis du ikke har værdier for alle kolonnerne, kan du udelade nogle af dem.

I så fald vil kolonnerne automatisk blive udfyldt med deres standardværdier, hvis de er angivet.

INSERT INTO tutorials(id) VALUES (5);

PostgreSQL Indsæt i tabel

Trin 5) Du kan også anmode om standardværdier for individuelle kolonner eller hele rækken:

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

PostgreSQL Indsæt i tabel

Trin 6) Du kan flere rækker med kun en enkelt kommando:

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

PostgreSQL Indsæt i tabel

Trin 7) In PostgreSQL, er det også at indsætte resultatet af en forespørgsel, som måske ikke er nogen rækker, én række eller flere rækker:

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

PostgreSQL Indsæt i tabel

PostgreSQL Indsæt sætning ved hjælp af pgAdmin

Her er trin til at indsætte sætning ved hjælp af pgAdmin i Postgre SQL

Trin 1) I objekttræet

  1. Højreklik på tabellen, hvor du vil indsætte data
  2. Vælg Scripts
  3. INDSÆT script

PostgreSQL Indsæt sætning ved hjælp af pgAdmin

Trin 2) I Indsæt panelet

  1. Rediger forespørgslen
  2. Klik på lysknappen
  3. Observer outputtet

PostgreSQL Indsæt sætning ved hjælp af pgAdmin

Trin 3) Du kan også gå til Værktøjer > Forespørgselsværktøjer for at åbne forespørgselseditoren, men du får ikke standardindsættelsesforespørgslen.

PostgreSQL Indsæt sætning ved hjælp af pgAdmin

Ofte Stillede Spørgsmål

Brug en enkelt INSERT med kommaseparerede tupler: INSERT INTO t (a,b) VALUES (1,2), (3,4). Langt hurtigere end flere INSERT'er med én række.

AI-værktøjer genererer parametriserede INSERT'er for at forhindre SQL-injektion, foreslår RETURNING-klausuler og konverterer regnearksdata til INSERT'er med flere rækker.

Ja. AI producerer realistiske seed-data, udleder kolonnetyper fra skemaer og skriver Python eller shell-scripts til batch-INSERTs.

RETURNING henter kolonner fra de rækker, der lige er indsat i den samme sætning. Brug RETURNING * for alle kolonner eller en liste over specifikke kolonner.

PostgreSQL har ingen fast rækkegrænse, men meget store sætninger kan nå hukommelsesgrænser. Brug COPY til masseindlæsninger.

Brug altid parameteriserede forespørgsler med pladsholdere på $1 og $2. Sammenkæd aldrig brugerinput i INSERT SQL-strenge.

Ja. Åbn tabellen, vælg Vis/Rediger data, og tilføj en ny række i gitteret. pgAdmin genererer INSERT-sætningen for dig.

INSERT tilføjer række for række via SQL. COPY streamer massedata fra filer meget hurtigere. Brug COPY til de første indlæsninger.

Opsummer dette indlæg med: