MySQL PÄIVITYS kysely esimerkillä

⚡ Älykäs yhteenveto

MySQL UPDATE-kysely muokkaa taulukon olemassa olevia rivejä muuttamalla yhtä tai useampaa kenttää yhdellä lausekkeella. Tämä resurssi selittää UPDATE-syntaksin, WHERE-suodatuksen, jäsentaulukon toimivia esimerkkejä ja suojauskeinoja, jotka estävät tahattomat massapäivitykset.

  • ✏️ Ydinlausunto: UPDATE `table_name` SET `column_name` = 'new_value' [WHERE-ehto] kirjoittaa uudelleen arvot jokaisella suodatinta vastaavalla rivillä.
  • ⚠️ Pois jätetty WHERE: Ilman WHERE-lauseketta UPDATE-lauseke kirjoittaa sarakkeen uudelleen taulukon jokaisella rivillä.
  • 🔢 Arvon muotoilu: Merkkijono- ja päivämääräarvot vaativat yksittäisiä lainausmerkkejä, numeeriset arvot eivät, ja päivämäärät noudattavat muotoa 'VVVV-KK-PP'.
  • 🧩 Useita sarakkeita: Erota kukin kohdistus pilkulla päivittääksesi useita kenttiä yhdessä lausekkeessa.
  • 🔍 Vahvistusvaihe: Suorita WHERE-lauseke ensin SELECT-lauseena ja toista se sitten UPDATE-lauseen jälkeen uusien arvojen vahvistamiseksi.
  • 🛡️ Vikasietoinen päivitystila: MySQL Workbench hylkää kaikki UPDATE-käskyt, joiden WHERE-lauseke ei suodata avainsarakkeen perusteella.

Mikä on PÄIVITYSkysely?

PÄIVITYS MySQL komentoa käytetään taulukon rivien muokkaamiseen. UPDATE-kysely voi muuttaa yhtä kenttää tai useita kenttiä samanaikaisesti. Sitä voidaan käyttää myös päivittämään MySQL taulukko, jonka arvot on otettu toisesta taulukosta.

Miksi käyttää UPDATE-kyselyä MySQL?

Tiedot pysyvät harvoin oikein ikuisesti. Jäsenet vaihtavat puhelinnumeroita, hinnat muuttuvat ja tilaukset siirtyvät odottavista toimitetuiksi. Vanhan rivin poistaminen ja korvaavan rivin lisääminen rikkoisi ensisijaisen avaimen ja kaikki viiteavainten viittaukset. UPDATE-lauseke muokkaa riviä paikoilleen, joten identiteetti ja suhteet säilyvät muutoksen jälkeen.

UPDATE-kysely on oikea työkalu aina, kun:

  • Arvo on väärä tai vanhentunut: Korjaa väärin kirjoitettu nimi tai päivitä yhteystiedon numero koskematta muuhun tietoon.
  • Tilanteen on muututtava: Vaihda tilauksen tila "odottaa" tilasta "lähetetty" tilaksi kirjoittamalla yksi sarake uudelleen.
  • Useat kentät muuttuvat yhdessä: Yhdellä lausekkeella voidaan asettaa uusi nimi ja uusi osoite samassa syötteessä.
  • Tarvitaan joukkokorjaus: WHERE-lauseke, joka löytää osuman useisiin riveihin, soveltaa samaa muokkausta kaikkiin riveihin kerralla.

Koska UPDATE-käsky ilman WHERE-lauseketta kirjoittaa jokaisen rivin uudelleen, suodatin erottaa rutiinikorjauksen vahingossa tapahtuvasta päällekirjoituksesta.

MySQL Päivitä komentosyntaksi

Kun tarkoitus on määritelty, seuraava vaihe on syntaksi. UPDATE-kyselyn perusmuoto on MySQL näkyy alla.

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

TÄSTÄ:

  • PÄIVITYS `taulukon_nimi` on komento, joka kertoo MySQL muokataksesi taulukon tietoja.
  • ASETA `sarakkeen_nimi` = 'uusi_arvo' antaa niiden kenttien nimet ja arvot, joihin UPDATE-kysely vaikuttaa. Arvoja asetettaessa merkkijonotietotyyppien on oltava lainausmerkeissä. Numeeriset arvot eivät tarvitse lainausmerkkejä. Päivämääräarvojen on oltava lainausmerkeissä ja muodossa 'VVVV-KK-PP'.
  • [WHERE ehto] on valinnainen ja sitä voidaan käyttää suodattimen käyttöönottamiseen, joka rajoittaa UPDATE-kyselyn vaikuttavien rivien määrää. Täydellinen vaihtoehtoluettelo näkyy MySQL PÄIVITYSLAUSUNTO-OHJE.

Katsotaanpa nyt käytännön esimerkkiä, joka päivittää tietoja jäsentaulukossa.

Päivitä MySQL esimerkki

Oletetaan, että jäsennumeroilla 1 ja 2 olevien jäsenten tietoihin on tehtävä seuraavat päivitykset.

Jäsennumero Päivitykset vaaditaan
1 Vaihda yhteystietosi numerosta 999 numeroon 0759 253 532
2 Muuta nimesi Janet Smith Jonesiksi ja päivitä fyysinen osoitteesi Melrose 123:ksi

Päivitä yksittäinen sarake

Aloitamme jäsennumerosta 1. Ennen muutosten tekemistä noudetaan kyseinen tietue.

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

Yllä olevan skriptin suorittaminen antaa meille seuraavat tulokset.

jäsennumero full_names sukupuoli syntymäaika fyysinen osoite postiosoite yhteyshenkilön_numero email
1 Janet Jones Nainen 21-07-1980 First Street -tontti nro 4 Yksityinen laukku 999 janetjones@yagoo.cm

Päivitetään nyt yhteysnumero alla olevan skriptin avulla.

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

Yllä olevan komentosarjan suorittaminen muuttaa jäsennumeron 1 yhteysnumeron numerosta 999 numeroon 0759 253 532. SELECT-komennon uudelleen suorittaminen vahvistaa uuden arvon.

jäsennumero full_names sukupuoli syntymäaika fyysinen osoite postiosoite yhteyshenkilön_numero email
1 Janet Jones Nainen 21-07-1980 First Street -tontti nro 4 Yksityinen laukku 0759 253 532 janetjones@yagoo.cm

Päivitä useita sarakkeita

Jäsenyysnumero 2 vaatii kahden kentän muuttamisen kerralla. Tämä on tietue ennen päivitystä.

jäsennumero full_names sukupuoli syntymäaika fyysinen osoite postiosoite yhteyshenkilön_numero email
2 Smith Jones Nainen 23-06-1980 Park Street NULL NULL jj@fstreet.com

Seuraava komentosarja päivittää molemmat sarakkeet yhdellä lausekkeella. Huomaa pilkku kahden määritysten välillä.

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

Yllä olevan komentosarjan suorittaminen päivittää jäsennumero 2:n koko nimeksi Janet Smith Jonesin ja fyysiseksi osoitteeksi Melrose 123.

jäsennumero full_names sukupuoli syntymäaika fyysinen osoite postiosoite yhteyshenkilön_numero email
2 Janet Smith Jones Nainen 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com

💡 Vinkki: "WHERE-lauseke” rajoittaa UPDATE-kyselyn vaikutuspiirissä olevien rivien määrää. Jos se jätetään pois, jokainen taulukon rivi kirjoitetaan uudelleen.

UKK

MySQL palauttaa ”Täsmäävät rivit”- ja ”Muuttuneet rivit” -lukumäärät. Täsmäävät rivit näyttää, kuinka monta riviä WHERE-lauseke valitsi, kun taas Muuttuneet rivit ei sisällä rivejä, joiden uusi arvo oli identtinen vanhan kanssa.

Kyllä. Yhdistä PÄIVITYS johonkin seuraavista: LIITY ja viittaa SET-lauseen toiseen taulukkoon. Liitosehto määrittää, mikä lähderivi antaa uuden arvon kullekin kohderiville.

Kääri se transaktioon. START TRANSACTION ja sen jälkeen ROLLBACK palauttavat vanhat arvot. Kun muutos on vahvistettu, vain varmuuskopio voi palauttaa aiemmat tiedot, joten testaa WHERE-lauseketta ensin SELECT-lausekkeella.

Kyllä. Tekoälyavustajat muuntavat kuvatun muutoksen UPDATE-syntaksiksi ja ehdottavat WHERE-lauseketta. Anna mallille taulukkorakenne ja tarkista sitten suodatin SELECT-lausekkeella ennen luodun kyselyn suorittamista.

Tekoälymalli ei voi nähdä reaaliaikaisia ​​rivejäsi, joten hieman virheellinen WHERE-lauseke voi kirjoittaa tuhansia tietueita uudelleen hiljaisesti. RevTarkastele jokaista luotua lauseketta, suorita se väliaikaisessa kopiossa ja pidä ajan tasalla olevaa varmuuskopiota.

Tiivistä tämä viesti seuraavasti: