SQL da Ma'lumotlarni Yangilash (UPDATE)
SQL da UPDATE operatori jadvaldagi mavjud yozuvlarni yangilash uchun ishlatiladi. Bu operator yordamida mavjud satrlarni o‘zgartirish, ustunlarning qiymatlarini yangilash mumkin. UPDATE
operatori juda kuchli vosita bo‘lib, agar noto‘g‘ri ishlatilsa, ma'lumotlar bazasidagi ma'lumotlarning yaxlitligini buzishi mumkin. Shuning uchun WHERE shartini to‘g‘ri qo‘llash juda muhimdir.
1 UPDATE Sintaksisi
jadval_nomi: Yangilanishi kerak bo‘lgan jadvalning nomi.
ustun1, ustun2, ...: Yangilanishi kerak bo‘lgan ustunlar.
yangi_qiymat1, yangi_qiymat2, ...: Har bir ustun uchun yangi qiymatlar.
WHERE shart: Qaysi yozuvlar yangilanishi kerakligini belgilaydi. Agar
WHERE
sharti qo‘llanmasa, barcha yozuvlar yangilanadi.
2 Oddiy Ma'lumot Yangilash
Misol tariqasida, Users
jadvalidagi foydalanuvchining ma'lumotlarini yangilaymiz. Masalan, foydalanuvchining yoshini 30 ga o‘zgartirish:
Bu buyruq UserID
= 1 bo‘lgan foydalanuvchining yoshini 30 ga yangilaydi.
3 Bir nechta Ustunni Yangilash
Agar bir nechta ustunni bir vaqtning o‘zida yangilash kerak bo‘lsa, ularni vergul bilan ajratib yozish mumkin:
Bu misolda UserID
= 2 bo‘lgan foydalanuvchining FirstName
, LastName
va Age
ustunlari bir vaqtda yangilanadi.
4 WHERE Shartini Ishlatish
WHERE sharti — bu yangilanishi kerak bo‘lgan yozuvlarni aniqlashda ishlatiladi. Agar WHERE sharti bo‘lmasa, jadvaldagi barcha yozuvlar yangilanadi. WHERE sharti ma'lumotlar bazasini yangilashda eng muhim qismdir, chunki noto‘g‘ri shart kiritish natijasida barcha ma'lumotlar o‘zgartirilishi mumkin.
Misol:
Bu buyruq faqat FirstName
= 'John' va LastName
= 'Doe' bo‘lgan foydalanuvchining yoshini yangilaydi.
5 WHERE Shartisiz Yangilash (Diqqat)
Agar WHERE shartini qo‘ymasangiz, UPDATE
operatori jadvaldagi barcha yozuvlarni yangilaydi. Bu juda ehtiyotkorlik bilan ishlatilishi kerak, chunki barcha ma'lumotlar o‘zgarishi mumkin.
Misol (diqqat):
Bu buyruq jadvaldagi barcha foydalanuvchilarning yoshini 40 ga yangilaydi. Agar bu xatolik bo‘lsa, barcha foydalanuvchilarning ma’lumotlari noto‘g‘ri yangilanadi.
6 NULL Qiymatni Yangilash
Agar ustunga NULL qiymatini qo‘shmoqchi bo‘lsangiz, shunchaki NULL
so‘zini qiymat sifatida kiritishingiz mumkin.
Misol:
Bu misolda UserID
= 1 bo‘lgan foydalanuvchining telefon raqami NULL
(bo‘sh) ga o‘zgartiriladi.
7 Subquery (Ichki So‘rov) Bilan Yangilash
UPDATE operatorida ichki so‘rov (subquery) ishlatish mumkin. Bu yordamida bir jadvaldan olingan ma'lumotlarni boshqa jadvalga qo‘llash mumkin.
Misol:
Bu misolda Users
jadvalidagi foydalanuvchining yoshini Employees
jadvalidan olingan ma'lumotlar bilan yangilaymiz. Bu yerda UserID
va EmployeeID
mos kelishi kerak.
8 UPDATE Bilan Xatoliklarni Oldini Olish
Backups: Ma'lumotlarni yangilashdan oldin, xatoliklarni oldini olish uchun jadvalning zaxirasini olish tavsiya etiladi.
Transactionlar: Bir nechta ma'lumotlarni yangilashda
TRANSACTION
operatorlarini ishlatish mumkin. Bu yordamida, agar yangilash jarayonida xatolik yuzaga kelsa, barcha o‘zgarishlar qaytarilishi (rollback) mumkin.
Misol:
Bu misolda ikkita UPDATE
so‘rovi bir vaqtning o‘zida ishlatiladi. Agar ikkita yangilash ham muvaffaqiyatli bo‘lsa, COMMIT
yordamida barcha o‘zgarishlar saqlanadi. Agar xatolik yuzaga kelsa, ROLLBACK
yordamida barcha o‘zgarishlar bekor qilinadi.
Xulosa
UPDATE operatori jadvaldagi mavjud yozuvlarni yangilash uchun ishlatiladi.
WHERE shartini qo‘llash juda muhim, chunki noto‘g‘ri ishlatilgan shart barcha ma'lumotlarni yangilashga olib kelishi mumkin.
NULL qiymatlarini yangilash va subquerylardan foydalanish imkoniyatlari mavjud.
Yangilash jarayonida xatoliklarni oldini olish uchun zaxira nusxalarini yaratish va tranzaksiya mexanizmlarini ishlatish tavsiya etiladi.
UPDATE operatori SQLda juda ko‘p ishlatiladigan, lekin ehtiyotkorlik bilan qo‘llanilishi kerak bo‘lgan operatorlardan biridir.
Last updated