PostgreSQL INSERT: Indsættelse af data i en tabel

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 vistyed hvis der kun er indsat en enkelt række, er oid den numeriske OID, der er tildelt den indsatte række.

Eksempel PostgreSQL Indsæt i tabel

Overvej folloenwing tabel, "tutorials", 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 samme effekt som displayed 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

Resumé

Kode/parameter/tip Beskrivelse
INSERT INTO TABLE_NAME (kolonne1, kolonne2, …kolonneN)
VALUES (værdi1, værdi2,...værdiN);
Bruges til at indsætte værdier i en tabel
INSERT INTO tutorials(id, tutorial_name) VALUES (1, 'postgre');
INSERT INTO tutorials(tutorial_name, id) VALUES ('postgre',1);
Rækkefølgen af ​​kolonner er ikke vigtig. Begge vil have samme effekt.
INSERT INTO tutorials VALUES (1, 'postgre'); Hvis du angiver værdier for alle kolonner, behøver du ikke angive
INSERT INTO tutorials (id, tutorial_name)
VÆLG id, tutorial_name FRA tutorials
WHERE tutorial_name = 'mysql';
Du kan angive enkelte eller flere underforespørgsler, der henvises til ved navn i INSERT-forespørgslen.
STANDARDVÆRDIER Brug af denne klausul til at udfylde alle kolonner med deres standardværdier.
udtryk En værdi og et udtryk, som skal tildeles den tilsvarende kolonne.
omeDEFAULT Standardsætningen bruges, når den tilsvarende kolonne er udfyldt med dens standardværdi.