MySQL Lekérdezés frissítése példával
⚡ Okos összefoglaló
MySQL Az UPDATE lekérdezés módosítja a táblázat meglévő sorait, egyetlen utasításban egy vagy több mezőt módosítva. Ez az anyag ismerteti az UPDATE szintaxist, a WHERE szűrést, a members táblán alkalmazott példákat, valamint a nem kívánt tömeges frissítéseket megakadályozó biztonsági intézkedéseket.

Mi az UPDATE lekérdezés?
Az UPDATE MySQL A parancs egy táblázat sorainak módosítására szolgál. Az UPDATE lekérdezés egyetlen mezőt vagy egyszerre több mezőt is módosíthat. Használható egy MySQL tábla, amelynek értékei egy másik táblából származnak.
Miért érdemes használni az UPDATE lekérdezést? MySQL?
Az adatok ritkán maradnak örökké helyesek. A tagok telefonszámokat változtatnak, az árak változnak, és a rendelések függőben lévőből kiszállítottba kerülnek. A régi sor törlése és egy új beillesztése sértené az elsődleges kulcsot és az esetleges idegen kulcshivatkozásokat. Az UPDATE utasítás a helyén szerkeszti a sort, így az identitás és a kapcsolatok a változást is kibírják.
Az UPDATE lekérdezés a megfelelő eszköz, amikor:
- Egy érték hibás vagy elavult: Javítson ki egy elgépelést vagy frissítsen egy telefonszámot a rekord többi részének megérintése nélkül.
- Egy állapotnak előre kell lépnie: Egyetlen oszlop átírásával átállíthatod a rendelés állapotát „függőben” állapotról „szállítva” állapotra.
- Több mező együtt változik: Egyetlen utasítással beállítható egy új név és egy új cím ugyanabban a menetben.
- Tömeges korrekcióra van szükség: Egy WHERE záradék, amely sok sorra illeszkedik, ugyanazt a szerkesztést alkalmazza egyszerre az összes sorra.
Mivel egy WHERE záradék nélküli UPDATE minden sort átír, a szűrő elválasztja a rutinszerű javítást a véletlen felülírástól.
MySQL Frissítse a parancs szintaxisát
Miután a cél meg van határozva, a következő lépés a szintaxis. Az UPDATE lekérdezés alapvető formája a következőben található: MySQL az alább látható.
UPDATE `table_name` SET `column_name` = 'new_value' [WHERE condition];
ITT:
- `tábla_neve` FRISSÍTÉSE a parancs, amely megmondja MySQL táblázatban lévő adatok módosításához.
- SET `oszlop_neve` = 'új_érték' megadja az UPDATE lekérdezés által érintett mezők nevét és értékét. Az értékek beállításakor a karakterlánc adattípusoknak aposztrófok között kell lenniük. A numerikus értékekhez nem kell idézőjel. A dátumértékeknek aposztrófok között és 'ÉÉÉÉ-HH-NN' formátumban kell lenniük.
- [WHERE feltétel] opcionális, és felhasználható egy szűrő alkalmazására, amely korlátozza az UPDATE lekérdezés által érintett sorok számát. A teljes opciólista a következőben jelenik meg: MySQL FRISSÍTÉSI NYILATKOZAT kézikönyv.
Most nézzünk egy gyakorlati példát, amely frissíti az adatokat a members táblában.
Frissítés MySQL Példa
Tegyük fel, hogy az 1-es és 2-es tagsági számmal rendelkező tagok nyilvántartásában a következő frissítéseket kell végrehajtaniuk.
| Tagsági szám | Frissítések szükségesek |
|---|---|
| 1 | Változtassa meg a telefonszámát 999-ről 0759 253 532-re |
| 2 | Változtasd meg a nevet Janet Smith Jones-ra, és frissítsd a fizikai címet Melrose 123-ra |
Egyetlen oszlop frissítése
Az 1-es tagsági számmal kezdjük. Mielőtt bármilyen változtatást végrehajtanánk, kérjük le ezt a rekordot.
SELECT * FROM `members` WHERE `membership_number` = 1;
A fenti szkript végrehajtása a következő eredményeket adja.
| Tagsági szám | teljes_nevek | nemek | születési_dátum | valódi cím | postai_cím | elérhetőség | |
|---|---|---|---|---|---|---|---|
| 1 | Janet Jones | nő | 21-07-1980 | 4. számú első utcai telek | Privát táska | 999 | janetjones@yagoo.cm |
Frissítsük most a telefonszámot az alábbi szkript segítségével.
UPDATE `members` SET `contact_number` = '0759 253 532' WHERE `membership_number` = 1;
A fenti szkript végrehajtása az 1-es tagsági számhoz tartozó elérhetőséget 999-ről 0759 253 532-re módosítja. A SELECT újbóli futtatása megerősíti az új értéket.
| Tagsági szám | teljes_nevek | nemek | születési_dátum | valódi cím | postai_cím | elérhetőség | |
|---|---|---|---|---|---|---|---|
| 1 | Janet Jones | nő | 21-07-1980 | 4. számú első utcai telek | Privát táska | 0759 alkalmazott | janetjones@yagoo.cm |
Több oszlop frissítése
A 2. tagsági számhoz két mezőt kell egyszerre módosítani. Ez a frissítés előtti rekord.
| Tagsági szám | teljes_nevek | nemek | születési_dátum | valódi cím | postai_cím | elérhetőség | |
|---|---|---|---|---|---|---|---|
| 2 | Smith Jones | nő | 23-06-1980 | Park utca | NULL | NULL | jj@fstreet.com |
A következő szkript egyetlen utasításban frissíti mindkét oszlopot. Figyeljük meg a vesszőt, amely elválasztja a két értékadást.
UPDATE `members` SET `full_names` = 'Janet Smith Jones', `physical_address` = 'Melrose 123' WHERE `membership_number` = 2;
A fenti szkript végrehajtása frissíti a 2-es tagsági szám teljes nevét Janet Smith Jones-ra, a fizikai címet pedig Melrose 123-ra.
| Tagsági szám | teljes_nevek | nemek | születési_dátum | valódi cím | postai_cím | elérhetőség | |
|---|---|---|---|---|---|---|---|
| 2 | Janet Smith Jones | nő | 23-06-1980 | Melrose 123 | NULL | NULL | jj@fstreet.com |
💡 Tipp: AzWHERE záradék” paraméter korlátozza az UPDATE lekérdezés által érintett sorok számát. Ha elhagyja, a tábla minden sora átírásra kerül.
