MySQL AKTUALIZOVANÝ dotaz s příkladem

⚡ Chytré shrnutí

MySQL Dotaz UPDATE upravuje existující řádky v tabulce a mění jedno nebo několik polí v jednom příkazu. Tento zdroj vysvětluje syntaxi příkazu UPDATE, filtrování WHERE, praktické příklady pro tabulku members a ochranná opatření, která zabraňují nechtěným hromadným aktualizacím.

  • ✏️ Základní prohlášení: UPDATE `table_name` SET `column_name` = 'new_value' [WHERE condition] přepíše hodnoty v každém řádku, který odpovídá filtru.
  • ⚠️ Vynecháno KDE: Bez klauzule WHERE příkaz UPDATE přepíše sloupec v každém řádku tabulky.
  • 🔢 Formátování hodnot: Řetězcové hodnoty a hodnoty data vyžadují jednoduché uvozovky, číselné hodnoty nikoli a data mají formát „RRRR-MM-DD“.
  • 🧩 Více sloupců: Pro aktualizaci několika polí v jednom příkazu oddělte jednotlivá přiřazení čárkou.
  • 🔍 Krok ověření: Nejprve spusťte klauzuli WHERE jako příkaz SELECT a poté ji po příkazu UPDATE zopakujte pro potvrzení nových hodnot.
  • 🛡️ Bezpečný režim aktualizace: MySQL Workbench odmítá jakoukoli aktualizaci (UPDATE), jejíž klauzule WHERE nefiltruje podle klíčového sloupce.

Co je AKTUALIZAČNÍ dotaz?

Jedno UPDATE MySQL Příkaz se používá k úpravě řádků v tabulce. Dotaz UPDATE může změnit jedno pole nebo více polí současně. Lze jej také použít k aktualizaci MySQL tabulka s hodnotami převzatými z jiné tabulky.

Proč používat dotaz UPDATE v MySQL?

Data málokdy zůstanou správná navždy. Členové mění telefonní čísla, ceny se mění a objednávky se přesouvají z čekajícího stavu do stavu odeslaného. Smazání starého řádku a vložení náhrady by narušilo primární klíč a všechny odkazy na cizí klíče. Příkaz UPDATE upraví řádek na místě, takže identita a vztahy změnu přežijí.

Dotaz UPDATE je ten správný nástroj, kdykoli:

  • Hodnota je nesprávná nebo zastaralá: Opravte chybně napsané jméno nebo obnovte kontaktní číslo, aniž byste museli měnit zbytek záznamu.
  • Stav se musí posunout vpřed: Změňte objednávku z „čekající“ na „odeslanou“ přepsáním jednoho sloupce.
  • Několik polí se mění společně: Jeden příkaz může ve stejném průchodu nastavit nové jméno a novou adresu.
  • Je nutná hromadná korekce: Klauzule WHERE, která odpovídá více řádkům, aplikuje stejnou úpravu na všechny z nich najednou.

Protože příkaz UPDATE bez klauzule WHERE přepisuje každý řádek, filtr odděluje rutinní opravu od náhodného přepsání.

MySQL Aktualizovat syntaxi příkazu

Po stanovení účelu je dalším krokem syntaxe. Základní tvar dotazu UPDATE v MySQL je zobrazen níže.

UPDATE `table_name` SET `column_name` = 'new_value' [WHERE condition];

ZDE:

  • AKTUALIZACE `název_tabulky` je příkaz, který říká MySQL upravit data v tabulce.
  • SET `název_sloupce` = 'nová_hodnota' udává názvy a hodnoty polí, která mají být ovlivněna dotazem UPDATE. Při nastavování hodnot musí být datové typy řetězců v jednoduchých uvozovkách. Číselné hodnoty uvozovky nepotřebují. Hodnoty data musí být v jednoduchých uvozovkách a ve formátu 'RRRR-MM-DD'.
  • [KDE podmínka] je volitelný a lze jej použít k použití filtru, který omezí počet řádků ovlivněných dotazem UPDATE. Úplný seznam možností se zobrazí v MySQL Manuál k prohlášení o aktualizaci.

Podívejme se nyní na praktický příklad, který aktualizuje data v tabulce members.

Aktualizovat v MySQL Příklad

Předpokládejme, že členové s členskými čísly 1 a 2 mají ve svých záznamech provést následující aktualizace.

Členské číslo Jsou vyžadovány aktualizace
1 Změna kontaktního čísla z 999 na 0759 253 532
2 Změňte jméno na Janet Smith Jones a aktualizujte fyzickou adresu na Melrose 123

Aktualizace jednoho sloupce

Začneme s číslem členství 1. Než provedeme jakoukoli změnu, načtěme si tento záznam.

SELECT * FROM `members` WHERE `membership_number` = 1;

Spuštění výše uvedeného skriptu nám poskytne následující výsledky.

členské číslo celá_jména rod datum_narození fyzická adresa poštovní_adresa kontaktní_číslo e-mail
1 Janet Jonesová Žena 21-07-1980 První ulice pozemek č. 4 Soukromá taška 999 janetjones@yagoo.cm

Nyní aktualizujme kontaktní číslo pomocí skriptu uvedeného níže.

UPDATE `members` SET `contact_number` = '0759 253 532' WHERE `membership_number` = 1;

Spuštěním výše uvedeného skriptu se kontaktní číslo pro členství číslo 1 změní z 999 na 0759 253 532. Opakované spuštění příkazu SELECT potvrdí novou hodnotu.

členské číslo celá_jména rod datum_narození fyzická adresa poštovní_adresa kontaktní_číslo e-mail
1 Janet Jonesová Žena 21-07-1980 První ulice pozemek č. 4 Soukromá taška 0759 253 532 janetjones@yagoo.cm

Aktualizovat více sloupců

U členství číslo 2 je třeba změnit dvě pole najednou. Toto je záznam před aktualizací.

členské číslo celá_jména rod datum_narození fyzická adresa poštovní_adresa kontaktní_číslo e-mail
2 Smith Jones Žena 23-06-1980 Park Street NULL NULL jj@fstreet.com

Následující skript aktualizuje oba sloupce jedním příkazem. Všimněte si čárky oddělující obě přiřazení.

UPDATE `members` SET `full_names` = 'Janet Smith Jones', `physical_address` = 'Melrose 123' WHERE `membership_number` = 2;

Spuštěním výše uvedeného skriptu se aktualizují celá jména pro členskou linku číslo 2 na Janet Smith Jones a fyzická adresa na Melrose 123.

členské číslo celá_jména rod datum_narození fyzická adresa poštovní_adresa kontaktní_číslo e-mail
2 Janet Smith Jonesová Žena 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com

💡 Tip: "klauzule WHERE„ omezuje počet řádků ovlivněných dotazem UPDATE. Pokud jej vynecháte, budou přepsány všechny řádky v tabulce.

Nejčastější dotazy

MySQL Vrací počet „Shodných řádků“ a „Změněných řádků“. Pole Shodných řádků ukazuje, kolik řádků klauzule WHERE vybrala, zatímco pole Změněných řádků vylučuje řádky, jejichž nová hodnota byla shodná se starou hodnotou.

Ano. Zkombinujte UPDATE s REGISTRACE a v klauzuli SET odkazují na druhou tabulku. Podmínka spojení určuje, který zdrojový řádek poskytuje novou hodnotu pro každý cílový řádek.

Zabalte to do transakce. Příkaz START TRANSACTION následovaný příkazem ROLLBACK obnoví staré hodnoty. Jakmile je změna potvrzena, může předchozí data obnovit pouze záloha, proto nejprve otestujte klauzuli WHERE s příkazem SELECT.

Ano. Asistenti umělé inteligence převedou popsanou změnu do syntaxe UPDATE a navrhnou klauzuli WHERE. Zadejte modelu strukturu tabulky a poté ověřte filtr pomocí příkazu SELECT před spuštěním vygenerovaného dotazu.

Model umělé inteligence nevidí vaše živé řádky, takže mírně chybná klauzule WHERE může tiše přepsat tisíce záznamů. Revzobrazit každý vygenerovaný příkaz, spustit ho na testovací kopii a uchovat aktuální zálohu.

Shrňte tento příspěvek takto: