I denne tutorial skal vi lære PostgreSQL OPDATERING kommando til opdatering af de aktuelle data i en tabel.
I PostgreSQL bruges UPDATE-kommandoen for at ændre de nuværende poster i en tabel . For at opdatere de valgte rækker skal vi bruge WHERE-sætningen ; ellers ville alle rækker blive opdateret.
Syntaks for kommandoen Update
Syntaksen for opdateringskommandoen er som følger:
UPDATE table_name SET column1 = value1, column2 = value2...., columnN = valueN WHERE condition;
Vi har følgende parametre, som bruges i ovenstående syntaks:
Parametre | Beskrivelse |
---|---|
Opdatering | Det er et nøgleord, som bruges til at opdatere rækkerne i en tabel. |
Tabel_navn | Efter UPDATE-klausulen vil vi bruge denne parameter til at definere tabelnavn at opdatere dataene. |
Kolonne1 = værdi1, Kolonne2 = værdi2, ...... KolonneN = værdiN | Det bruges til at beskrive en kolonnens navn i en tabel, hvis værdier skal ændres i SÆT klausul. Vi kan bruge komma (,) at adskille hvert par af kolonne og værdier . |
Hvor | Vi vil bruge WHERE-klausul at filtrere posterne og kun hente de væsentlige poster. |
Tilstand | Det er et udtryk, som bruges til at returnere en værdi af type Boolean . Og dette udtryk vender tilbage rigtigt kun for rækker. |
Eksempler på PostgreSQL-opdateringskommando
For vores bedre forståelse vil vi se eksempler på PostgreSQL Opdatering kommando .
Vi vil tage afdelingsbord , som vi skabte i Indsæt kommandosektion .
onclick js
For det første vil vi se strukturen af afdelingsbord ved hjælp af nedenstående kommando:
SELECT * FROM department;
Efter at have udført select-kommandoen, får vi følgende resultat:
Eksempel på PostgreSQL UPDATE-tabel
Her vil vi ændre NUL værdier af sidste ændring kolonne til Nuværende dato med nedenstående kommandos hjælp:
UPDATE department SET last_update = DEFAULT WHERE last_update IS NULL;
Vi får nedenstående resultat efter at have udført ovenstående kommando:
I ovenstående forespørgsel anvender vi DEFAULT søgeord til sidste ændring kolonne, der tager nuværende dato i henhold til standardværdien. Og WHERE-klausul opdaterer kun de rækker, hvor sidste ændring kolonneværdien er NUL .
Eksempel på opgradering af alle rækker i en tabel ved hjælp af kommandoen Update
For at opdatere værdierne i placering kolonne som USA for alle rækker i afdeling tabel, bruger vi følgende kommando:
Bemærk: I nedenstående opdateringskommando ignorerer vi WHERE-sætningen:
UPDATE department SET location = 'U.S.A';
Efter at have udført ovenstående forespørgsel, vil den opdatere placering kolonne i afdelingstabel:
Vi vil bruge vælg kommando for at kontrollere outputtet af ovenstående kommando i afdelingstabel:
select* from department;
Og inden for samme tabel kan vi også opdatere data for en kolonne fra en ekstra kolonne.
Nedenstående kommando bruges til at kopiere afd.navn kolonnens værdier til beskrivelseskolonnen af afdeling bord:
UPDATE department SET description = dept_name;
Når vi udfører ovenstående forespørgsel, vil den opdatere beskrivelseskolonnen i afdelingstabel:
Derefter vil vi bruge kommandoen vælg til at se opdateret kolonne (beskrivelse) i afdeling bord:
Eksempel på PostgreSQL update joins kommando
Her vil vi tage afdeling_tmp tabel , som har samme struktur som afdeling bord:
Følgende kommando bruges til at opdatere værdier, som kommer fra afdelingsbord for kolonnerne i afdeling_tmp bord:
UPDATE department_tmp SET location = department.location, description = department.description, last_update = department.last_update FROM department WHERE department_tmp.Dept_id = department.Dept_id;
Når vi udfører ovenstående forespørgsel, vil den opdatere afdeling_tmp tabel:
For at verificere afdeling_tmp tabel, vil vi bruge Vælg kommando:
SELECT * FROM department_tmp;
Og vi får nedenstående output:
Bemærk: I ovenstående opdateringskommando brugte vi FROM-sætningen til at beskrive den anden tabel (afdeling), som indeholder i opdateringen.
Her brugte vi sammenføjningsbetingelsen i WHERE-klausul . Og nogle gange nævnte denne UPDATE-kommando som OPDATERE INNER JOIN eller OPDATERE JOIN da to eller flere borde er involveret i OPDATERING kommando.
Opdater kommando gennem returnerende tilstand
Som standard er opdateringskommando kan returnere antallet af berørte rækker, og det returnerer også de effektive data ved hjælp af Returafsnit .
Nedenstående kommando bruges til at opdatere rækken med Afd_id 1 i afdelingsbord og returnere opdaterede data .
UPDATE department SET description = 'Names of departments', location = 'NewYork' WHERE dept_id = 1 RETURNING dept_id, description, location;
Efter at have udført ovenstående kommando, får vi nedenstående tabelstruktur:
Derefter vil vi bruge kommandoen select til at kontrollere de opdaterede data i afdelingstabel:
SELECT * FROM department WHERE dept_id = 1;
Når vi kører ovenstående Select-forespørgsel, får vi nedenstående output: