MySQL UPDATE Interogare cu Exemplu

โšก Rezumat inteligent

MySQL Interogarea UPDATE modificฤƒ rรขndurile existente dintr-un tabel, schimbรขnd unul sau mai multe cรขmpuri รฎntr-o singurฤƒ instrucศ›iune. Aceastฤƒ resursฤƒ explicฤƒ sintaxa UPDATE, filtrarea WHERE, exemple concrete รฎn tabelul membri ศ™i mฤƒsurile de siguranศ›ฤƒ care previn actualizฤƒrile รฎn masฤƒ neintenศ›ionate.

  • โœ๏ธ Declaraศ›ie de bazฤƒ: UPDATE `nume_tabel` SET `nume_coloanฤƒ` = 'valoare_nouฤƒ' [condiศ›ie WHERE] rescrie valorile din fiecare rรขnd care corespunde filtrului.
  • โš ๏ธ Omis UNDE: Fฤƒrฤƒ o clauzฤƒ WHERE, instrucศ›iunea UPDATE rescrie coloana din fiecare rรขnd al tabelului.
  • ๐Ÿ”ข Formatarea valorilor: Valorile ศ™irurilor de caractere ศ™i date necesitฤƒ ghilimele simple, valorile numerice nu, iar datele respectฤƒ formatul โ€žAAAA-LL-ZZโ€.
  • ๐Ÿงฉ Coloane multiple: Separaศ›i fiecare atribuire cu o virgulฤƒ pentru a actualiza mai multe cรขmpuri รฎntr-o singurฤƒ instrucศ›iune.
  • ๐Ÿ” Pasul de verificare: Executaศ›i mai รฎntรขi clauza WHERE ca o instrucศ›iune SELECT, apoi repetaศ›i-o dupฤƒ UPDATE pentru a confirma noile valori.
  • ๐Ÿ›ก๏ธ Mod de actualizare sigurฤƒ: MySQL Workbench respinge orice UPDATE a cฤƒrui clauzฤƒ WHERE nu filtreazฤƒ pe baza unei coloane cheie.

Ce este interogarea UPDATE?

UPDATE MySQL Comanda este utilizatฤƒ pentru a modifica rรขndurile dintr-un tabel. Interogarea UPDATE poate modifica un singur cรขmp sau mai multe cรขmpuri simultan. De asemenea, poate fi utilizatฤƒ pentru a actualiza un MySQL tabel cu valori preluate dintr-un alt tabel.

De ce sฤƒ folosiศ›i interogarea UPDATE รฎn MySQL?

Datele rareori rฤƒmรขn corecte pentru totdeauna. Membrii รฎศ™i schimbฤƒ numerele de telefon, preศ›urile se modificฤƒ, iar comenzile trec din starea โ€žaศ™teptareโ€ รฎn starea โ€žexpediateโ€. ศ˜tergerea rรขndului vechi ศ™i inserarea unui รฎnlocuitor ar deteriora cheia primarฤƒ ศ™i orice referinศ›e la chei externe. Instrucศ›iunea UPDATE editeazฤƒ rรขndul la locul sฤƒu, astfel รฎncรขt identitatea ศ™i relaศ›iile supravieศ›uiesc modificฤƒrii.

Interogarea UPDATE este instrumentul potrivit oricรขnd:

  • O valoare este greศ™itฤƒ sau รฎnvechitฤƒ: Corectaศ›i un nume scris greศ™it sau actualizaศ›i un numฤƒr de contact fฤƒrฤƒ a atinge restul รฎnregistrฤƒrii.
  • Un statut trebuie sฤƒ avanseze: Inversaศ›i o comandฤƒ din โ€žรฎn aศ™teptareโ€ รฎn โ€žexpediatฤƒโ€ prin rescrierea unei singure coloane.
  • Mai multe cรขmpuri se schimbฤƒ odatฤƒ: O singurฤƒ instrucศ›iune poate seta un nume nou ศ™i o adresฤƒ nouฤƒ รฎn aceeaศ™i trecere.
  • Este necesarฤƒ o corecศ›ie รฎn bloc: O clauzฤƒ WHERE care se potriveศ™te cu mai multe rรขnduri aplicฤƒ aceeaศ™i editare tuturor simultan.

Deoarece o instrucศ›iune UPDATE fฤƒrฤƒ clauzฤƒ WHERE rescrie fiecare rรขnd, filtrul separฤƒ o corecศ›ie de rutinฤƒ de o suprascriere accidentalฤƒ.

MySQL Actualizaศ›i sintaxa comenzii

Odatฤƒ stabilit scopul, urmฤƒtorul pas este sintaxa. Forma de bazฤƒ a interogฤƒrii UPDATE รฎn MySQL este prezentat mai jos.

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

AICI:

  • ACTUALIZARE `nume_tabel` este comanda care spune MySQL pentru a modifica datele dintr-un tabel.
  • SET `nume_coloanฤƒ` = 'valoare_nouฤƒ' oferฤƒ numele ศ™i valorile cรขmpurilor care vor fi afectate de interogarea UPDATE. La setarea valorilor, tipurile de date de tip ศ™ir de caractere trebuie sฤƒ fie รฎntre ghilimele simple. Valorile numerice nu necesitฤƒ ghilimele. Valorile de tip datฤƒ trebuie sฤƒ fie รฎntre ghilimele simple ศ™i รฎn formatul โ€žAAAA-LL-ZZโ€.
  • [condiศ›ia UNDE] este opศ›ional ศ™i poate fi utilizat pentru a aplica un filtru care restricศ›ioneazฤƒ numฤƒrul de rรขnduri afectate de interogarea UPDATE. Lista completฤƒ de opศ›iuni apare รฎn MySQL Manualul declaraศ›iilor UPDATE.

Sฤƒ analizฤƒm acum un exemplu practic care actualizeazฤƒ datele din tabelul de membri.

Actualizaศ›i รฎn MySQL Exemplu

Sฤƒ presupunem cฤƒ membrii cu numerele de membru 1 ศ™i 2 au urmฤƒtoarele actualizฤƒri de fฤƒcut la รฎnregistrฤƒrile lor.

Numar de membru Sunt necesare actualizฤƒri
1 Schimbaศ›i numฤƒrul de contact de la 999 la 0759 253 532
2 Schimbaศ›i numele รฎn Janet Smith Jones ศ™i actualizaศ›i adresa fizicฤƒ la Melrose 123

Actualizaศ›i o singurฤƒ coloanฤƒ

รŽncepem cu numฤƒrul de membru 1. รŽnainte de a face orice modificare, haideศ›i sฤƒ recuperฤƒm acea รฎnregistrare.

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

Executarea scriptului de mai sus ne oferฤƒ urmฤƒtoarele rezultate.

numar de membru nume complete sex data naศ™terii adresฤƒ fizicฤƒ adresฤƒ_poศ™talฤƒ numฤƒr_de_contact e-mail
1 Janet Jones Femeie 21-07-1980 Primul teren stradal nr. 4 Geantฤƒ privatฤƒ 999 janetjones@yagoo.cm

Sฤƒ actualizฤƒm acum numฤƒrul de contact folosind scriptul prezentat mai jos.

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

Executarea scriptului de mai sus modificฤƒ numฤƒrul de contact de la 999 la 0759 253 532 pentru numฤƒrul de membru 1. Rularea din nou a comenzii SELECT confirmฤƒ noua valoare.

numar de membru nume complete sex data naศ™terii adresฤƒ fizicฤƒ adresฤƒ_poศ™talฤƒ numฤƒr_de_contact e-mail
1 Janet Jones Femeie 21-07-1980 Primul teren stradal nr. 4 Geantฤƒ privatฤƒ 0759 253 532 janetjones@yagoo.cm

Actualizaศ›i mai multe coloane

Numฤƒrul de membru 2 necesitฤƒ modificarea a douฤƒ cรขmpuri simultan. Aceasta este รฎnregistrarea de dinainte de actualizare.

numar de membru nume complete sex data naศ™terii adresฤƒ fizicฤƒ adresฤƒ_poศ™talฤƒ numฤƒr_de_contact e-mail
2 Smith Jones Femeie 23-06-1980 Strada Park NULL NULL jj@fstreet.com

Urmฤƒtorul script actualizeazฤƒ ambele coloane รฎntr-o singurฤƒ instrucศ›iune. Reศ›ineศ›i virgula care separฤƒ cele douฤƒ atribuiri.

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

Executarea scriptului de mai sus actualizeazฤƒ numele complete pentru numฤƒrul de membru 2 la Janet Smith Jones ศ™i adresa fizicฤƒ la Melrose 123.

numar de membru nume complete sex data naศ™terii adresฤƒ fizicฤƒ adresฤƒ_poศ™talฤƒ numฤƒr_de_contact e-mail
2 Janet Smith Jones Femeie 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com

๐Ÿ’ก Sfat: "clauza WHEREโ€žโ€ este ceea ce limiteazฤƒ numฤƒrul de rรขnduri afectate de interogarea UPDATE. Omiteศ›i-l ศ™i fiecare rรขnd din tabel este rescris.

รŽntrebฤƒri frecvente

MySQL returneazฤƒ numฤƒrul de rรขnduri selectate de clauza WHERE, รฎn timp ce numฤƒrul de rรขnduri modificate exclude rรขndurile a cฤƒror valoare nouฤƒ era identicฤƒ cu cea veche.

Da. Combinaศ›i ACTUALIZARE cu un JOIN ศ™i face referire la al doilea tabel din clauza SET. Condiศ›ia de joncศ›iune decide care rรขnd sursฤƒ furnizeazฤƒ noua valoare pentru fiecare rรขnd ศ›intฤƒ.

รŽncadraศ›i-l รฎntr-o tranzacศ›ie. START TRANSACTION urmat de ROLLBACK restaureazฤƒ valorile vechi. Odatฤƒ ce modificarea este validatฤƒ, doar o copie de rezervฤƒ poate recupera datele anterioare, aศ™a cฤƒ testaศ›i mai รฎntรขi clauza WHERE cu SELECT.

Da. Asistenศ›ii inteligenศ›i artificiali convertesc o modificare descrisฤƒ รฎn sintaxa UPDATE ศ™i sugereazฤƒ clauza WHERE. Daศ›i modelului structura tabelului, apoi verificaศ›i filtrul cu o instrucศ›iune SELECT รฎnainte de a rula interogarea generatฤƒ.

Un model de inteligenศ›ฤƒ artificialฤƒ nu poate vedea rรขndurile tale live, aศ™a cฤƒ o clauzฤƒ WHERE uศ™or greศ™itฤƒ poate rescrie mii de รฎnregistrฤƒri รฎn mod silenศ›ios. RevVizualizaศ›i fiecare instrucศ›iune generatฤƒ, rulaศ›i-o pe o copie de probฤƒ ศ™i pฤƒstraศ›i o copie de rezervฤƒ actualizatฤƒ.

Rezumaศ›i aceastฤƒ postare cu: