MySQL UPPDATERA Fråga med exempel
⚡ Smart sammanfattning
MySQL UPDATE-frågan modifierar befintliga rader i en tabell och ändrar ett eller flera fält i en enda sats. Den här resursen förklarar UPDATE-syntax, WHERE-filtrering, bearbetade exempel på medlemstabellen och de skyddsåtgärder som förhindrar oavsiktliga massuppdateringar.

Vad är UPPDATERINGSfrågan?
Ocuco-landskapet UPPDATERING MySQL Kommandot används för att ändra rader i en tabell. UPDATE-frågan kan ändra ett enskilt fält eller flera fält samtidigt. Det kan också användas för att uppdatera en MySQL tabell med värden hämtade från en annan tabell.
Varför använda UPDATE-frågan i MySQL?
Data förblir sällan korrekta för alltid. Medlemmar ändrar telefonnummer, priser ändras och beställningar flyttas från väntande till levererade. Att ta bort den gamla raden och infoga en ersättning skulle förstöra primärnyckeln och eventuella referenser till främmande nyckel. UPDATE-satsen redigerar raden på plats, så identitet och relationer överlever ändringen.
UPDATE-frågan är rätt verktyg när:
- Ett värde är felaktigt eller föråldrat: Korrigera ett felstavat namn eller uppdatera ett kontaktnummer utan att röra resten av posten.
- En status måste gå framåt: Vänd en order från "väntande" till "levererad" genom att skriva om en enda kolumn.
- Flera fält ändras tillsammans: Ett uttalande kan ange ett nytt namn och en ny adress i samma pass.
- En bulkkorrigering behövs: En WHERE-klausul som matchar många rader tillämpar samma redigering på alla rader samtidigt.
Eftersom en UPDATE utan en WHERE-klausul skriver om varje rad, separerar filtret en rutinkorrigering från en oavsiktlig överskrivning.
MySQL Uppdatera kommandosyntax
När syftet är fastställt är nästa steg syntaxen. Grundformen för UPDATE-frågan i MySQL visas nedan.
UPDATE `table_name` SET `column_name` = 'new_value' [WHERE condition];
HÄR:
- UPPDATERA `tabellnamn` är kommandot som berättar MySQL för att ändra data i en tabell.
- SET `kolumnnamn` = 'nytt_värde' anger namnen och värdena för de fält som ska påverkas av UPDATE-frågan. När värdena anges måste strängdatatyper vara inom enkla citationstecken. Numeriska värden behöver inte citattecken. Datumvärden måste vara inom enkla citationstecken och i formatet 'ÅÅÅÅ-MM-DD'.
- [WHERE-tillstånd] är valfritt och kan användas för att tillämpa ett filter som begränsar antalet rader som påverkas av UPDATE-frågan. Den fullständiga alternativlistan visas i MySQL UPPDATERINGSUTDRAGET manual.
Låt oss nu titta på ett praktiskt exempel som uppdaterar data i medlemstabellen.
Uppdatera i MySQL Exempelvis
Anta att medlemmarna med medlemsnummer 1 och 2 har följande uppdateringar som ska göras i sina register.
| Medlemsnummer | Uppdateringar krävs |
|---|---|
| 1 | Ändra kontaktnummer från 999 till 0759 253 532 |
| 2 | Ändra namnet till Janet Smith Jones och uppdatera den fysiska adressen till Melrose 123 |
Uppdatera en enskild kolumn
Vi börjar med medlemsnummer 1. Innan vi gör några ändringar, låt oss hämta den posten.
SELECT * FROM `members` WHERE `membership_number` = 1;
Att köra skriptet ovan ger oss följande resultat.
| medlemsnummer | Fullständiga namn | kön | födelsedatum | fysisk adress | postadress | kontaktnummer | |
|---|---|---|---|---|---|---|---|
| 1 | Janet Jones | Kvinna | 21-07-1980 | First Street Tomt nr 4 | Privat väska | 999 | janetjones@yagoo.cm |
Låt oss nu uppdatera kontaktnumret med hjälp av skriptet som visas nedan.
UPDATE `members` SET `contact_number` = '0759 253 532' WHERE `membership_number` = 1;
Genom att köra ovanstående skript ändras kontaktnumret från 999 till 0759 253 532 för medlemsnummer 1. Att köra SELECT igen bekräftar det nya värdet.
| medlemsnummer | Fullständiga namn | kön | födelsedatum | fysisk adress | postadress | kontaktnummer | |
|---|---|---|---|---|---|---|---|
| 1 | Janet Jones | Kvinna | 21-07-1980 | First Street Tomt nr 4 | Privat väska | 0759 253 532 | janetjones@yagoo.cm |
Uppdatera flera kolumner
Medlemskapsnummer 2 behöver ändra två fält samtidigt. Detta är posten före uppdateringen.
| medlemsnummer | Fullständiga namn | kön | födelsedatum | fysisk adress | postadress | kontaktnummer | |
|---|---|---|---|---|---|---|---|
| 2 | Smith Jones | Kvinna | 23-06-1980 | Park Street | NULL | NULL | jj@fstreet.com |
Följande skript uppdaterar båda kolumnerna i en sats. Observera kommatecken som skiljer de två tilldelningarna åt.
UPDATE `members` SET `full_names` = 'Janet Smith Jones', `physical_address` = 'Melrose 123' WHERE `membership_number` = 2;
Genom att köra ovanstående skript uppdateras de fullständiga namnen för medlemsnummer 2 till Janet Smith Jones och den fysiska adressen till Melrose 123.
| medlemsnummer | Fullständiga namn | kön | födelsedatum | fysisk adress | postadress | kontaktnummer | |
|---|---|---|---|---|---|---|---|
| 2 | Janet Smith Jones | Kvinna | 23-06-1980 | Melrose 123 | NULL | NULL | jj@fstreet.com |
💡 Tips: Den "VAR klausul” är det som begränsar antalet rader som påverkas av UPDATE-frågan. Utelämnar du det skrivs varje rad i tabellen om.
