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.

  • ✏️ Kärnutlåtande: UPDATE `tabellnamn` SET `kolumnnamn` = 'new_value' [WHERE-villkor] skriver om värden i varje rad som matchar filtret.
  • ⚠️ Utelämnad VAR: Utan en WHERE-klausul skriver UPDATE-satsen om kolumnen i varje rad i tabellen.
  • 🔢 Värdeformatering: Sträng- och datumvärden kräver enkla citattecken, numeriska värden gör det inte, och datum följer formatet 'ÅÅÅÅ-MM-DD'.
  • 🧩 Flera kolumner: Separera varje tilldelning med ett kommatecken för att uppdatera flera fält i ett uttryck.
  • 🔍 Verifieringssteg: Kör WHERE-klausulen som en SELECT-sats först och upprepa den sedan efter UPDATE för att bekräfta de nya värdena.
  • 🛡️ Säkert uppdateringsläge: MySQL Workbench avvisar alla UPDATE vars WHERE-klausul inte filtrerar på en nyckelkolumn.

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 e-mail
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 e-mail
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 e-mail
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 e-mail
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.

Vanliga frågor

MySQL returnerar ett antal av typen "Rows matched" och "Rows changed". Rader matchade visar hur många rader WHERE-klausulen valde, medan Rader ändrade exkluderar rader vars nya värde var identiskt med det gamla.

Ja. Kombinera UPDATE med en JOIN och referera till den andra tabellen i SET-klausulen. Kopplingsvillkoret avgör vilken källrad som levererar det nya värdet för varje målrad.

Slå in det i en transaktion. START TRANSACTION följt av ROLLBACK återställer de gamla värdena. När ändringen väl är slutförd kan endast en säkerhetskopia återställa tidigare data, så testa WHERE-klausulen med SELECT först.

Ja. AI-assistenter konverterar en beskriven ändring till UPDATE-syntax och föreslår WHERE-klausulen. Ge modellen din tabellstruktur och verifiera sedan filtret med en SELECT-sats innan den genererade frågan körs.

En AI-modell kan inte se dina aktiva rader, så en något felaktig WHERE-klausul kan skriva om tusentals poster i tysthet. RevVisa varje genererad sats, kör den på en mellanliggande kopia och behåll en aktuell säkerhetskopia.

Sammanfatta detta inlägg med: