In deze tutorial gaan we de PostgreSQL-UPDATE commando voor het bijwerken van de huidige gegevens in een tabel.
In PostgreSQL wordt de opdracht UPDATE gebruikt om de huidige records in een tabel te wijzigen . Om de geselecteerde rijen bij te werken, moeten we de WHERE-clausule gebruiken; anders zouden alle rijen worden bijgewerkt.
Syntaxis van de opdracht Update
De syntaxis van de update-opdracht is als volgt:
UPDATE table_name SET column1 = value1, column2 = value2...., columnN = valueN WHERE condition;
We hebben de volgende parameters, die in de bovenstaande syntaxis worden gebruikt:
str.replace in Java
Parameters | Beschrijving |
---|---|
Update | Het is een trefwoord dat wordt gebruikt om de rijen van een tabel bij te werken. |
Tafel naam | Na de UPDATE-clausule gebruiken we deze parameter om de tafel naam om de gegevens bij te werken. |
Kolom1 = waarde1, Kolom2 = waarde2, ...... KolomN = waardeN | Het wordt gebruikt om een te beschrijven kolomnaam in een tabel waarvan de waarden moeten worden gewijzigd in de SET clausule. Wij kunnen gebruik maken van de komma (,) om elk paar van de te scheiden kolom en waarden . |
Waar | Wij zullen gebruik maken van de WHERE-clausule om de records te filteren en alleen de essentiële records op te halen. |
Voorwaarde | Het is een expressie die wordt gebruikt om een waarde van het type terug te geven Booleaans . En deze uitdrukking komt terug WAAR alleen voor rijen. |
Voorbeelden van de PostgreSQL-updateopdracht
Voor een beter begrip zullen we voorbeelden zien van PostgreSQL Update commando .
Wij nemen de afdeling tafel , die we hebben gemaakt in de Commandosectie invoegen .
Ten eerste zullen we de structuur van de afdeling tafel met behulp van het onderstaande commando:
SELECT * FROM department;
Na het uitvoeren van de select-opdracht krijgen we het onderstaande resultaat:
Voorbeeld van een PostgreSQL UPDATE-tabel
Hier zullen we de NUL waarden van de laatste update kolom naar de Huidige datum met de hulp van het onderstaande commando:
UPDATE department SET last_update = DEFAULT WHERE last_update IS NULL;
We krijgen het onderstaande resultaat, na het uitvoeren van de bovenstaande opdracht:
In de bovenstaande vraag passen we de STANDAARD trefwoord naar de laatste update kolom die de huidige datum volgens de standaardwaarde. En de WHERE-clausule werkt alleen die rijen bij waar de laatste update kolomwaarde is NUL .
Voorbeeld van het upgraden van alle rijen in een tabel met behulp van de opdracht Update
Om de waarden in het locatie kolom als VERENIGDE STATEN VAN AMERIKA voor alle rijen in de afdeling tabel gebruiken we het volgende commando:
Opmerking: in de onderstaande updateopdracht negeren we de WHERE-clausule:
UPDATE department SET location = 'U.S.A';
Na het uitvoeren van de bovenstaande query, zal het de locatie kolom in de afdeling tafel:
Wij zullen gebruik maken van de selecteer opdracht om de uitvoer van het bovenstaande commando in het afdeling tafel:
select* from department;
En binnen dezelfde tabel kunnen we ook gegevens van een kolom vanuit een extra kolom bijwerken.
Het onderstaande commando wordt gebruikt om het afdelingsnaam kolomwaarden naar de beschrijving kolom van de afdeling tafel:
UPDATE department SET description = dept_name;
Zodra we de bovenstaande zoekopdracht hebben uitgevoerd, wordt het bestand bijgewerkt beschrijving kolom in de afdeling tafel:
Daarna zullen we de opdracht select gebruiken om de bijgewerkte kolom(beschrijving) in de afdeling tafel:
Voorbeeld van een PostgreSQL-update voegt zich bij de opdracht
Hier nemen we de afdeling_tmp tabel , die dezelfde structuur heeft als de afdeling tafel:
De volgende opdracht wordt gebruikt om waarden bij te werken, die afkomstig zijn van de afdeling tafel voor de kolommen in de afdeling_tmp tafel:
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;
Zodra we de bovenstaande zoekopdracht hebben uitgevoerd, wordt het bestand bijgewerkt afdeling_tmp tabel:
Om de afdeling_tmp tabel, zullen we de Selecteer commando:
SELECT * FROM department_tmp;
En we krijgen de onderstaande uitvoer:
Opmerking: in de bovenstaande update-opdracht hebben we de FROM-clausule gebruikt om de tweede tabel (afdeling) te beschrijven, die de update bevat.
Hier gebruikten we de join-voorwaarde in de WHERE-clausule . En soms wordt dit UPDATE-commando vermeld als UPDATE INNER JOIN of UPDATE JOIN omdat er twee of meer tabellen bij betrokken zijn UPDATE commando.
Update de opdracht via het retourneren van de voorwaarde
Standaard is de opdracht bijwerken kan het aantal betrokken rijen retourneren, en retourneert ook de efficiënte gegevens met behulp van de Terugkerende sectie .
Het onderstaande commando wordt gebruikt om de rij bij te werken Afdeling_id 1 in de afdeling tafel en retourneer de bijgewerkte gegevens .
UPDATE department SET description = 'Names of departments', location = 'NewYork' WHERE dept_id = 1 RETURNING dept_id, description, location;
Na het uitvoeren van de bovenstaande opdracht krijgen we de onderstaande tabelstructuur:
Linux$home
Daarna zullen we de opdracht select gebruiken om de bijgewerkte gegevens in het afdeling tafel:
SELECT * FROM department WHERE dept_id = 1;
Zodra we de bovenstaande Select-query hebben uitgevoerd, krijgen we de onderstaande uitvoer: