4-Mavzu: SQL-Delete va Update instruksiyalari. Reja;
1. Jadvaldagi berilganlarni o’zgartirish.
2. Yangi berilganlarni jadvalga qo’shish.
3. SQLda predikatlardan foydalanish.
Jadvaldagi berilganlarni o’zgartirish uchun uchta operatorni qo’llash mumkin:
INSERT - jadvalga yangi berilganlarni qo’shish;
UPDATE - jadvaldagi qiymatlarni o’zgartirish;
DELETE - jadvaldagi satrlarni o’chirish.
Yangi berilganlarni jadvalga qo’shish.
INSERT operatorni ikkita shakli bor. Birinchisi shakl faqat bitta satrni qo’shish uchun mo’ljallangan. Bu shaklni sintaksisi quyidagicha:
<satr qo’shish operatori>::= INSERT INTO [( )] VALUES ()
Bu yerda, bazadagi jadval yoki yangilanuvchi tasavvur (viewer) nomi, vergul bilan ajratilgan ustunlar nomidan iborat. Agarda ustunlar ko’rsatilmasa, barcha ustunlarni qiymati beriladi deb hisoblanadi, ularning ketma-ketligi jadval tuzilishidagi ketma-ketlik kabi bo’ladi. Agarda ro’yxat ko’rsatilsa, unga kirmagan ustunlarni qiymati NULLga yoki jadval tuzishda berilgan oshkormas qiymatga teng bo’ladi.
<Qiymatlar ro’yxati> quyidagicha mos kelishi kerak: * ikkala ro’yxatdagi elementlar soni bir xil bo’lishi; * qiymatlar mos ustunlarga aniq tushishi; * berilganlar turi ustunlar turiga to’g’ri kelishi. Misol : INSERT INTO talaba(familiya, ismi, sharifi, tug_yil, jinsi)
VALUES (‘Botirov’, ‘Rustam’, ‘Anvarovich’, 1954,’erkak’)
Operatorning ikkinchi shakli boshqa jadvaldan yoki so’rov qismidan satrlarni nusxalash uchun qo’llanadi:
::= INSERT INTO <jadval nomi>
[( )] Misol: 1 kursga kirgan abituriyentlarni talabalar jadvaliga qo’shishni ko’rib o’tamiz.
INSERT INTO talaba SELECT * FROM talaba1kurs
Berilganlarni o’zgartirish hisobiga, berilganlarni o’zgartirish uchun UPDATE operatori ishlatiladi, uning sintaksisi quyidagicha:
::= UPDATE SET { = } [, ...] [] [where bo’limi] Bu yerdagi ustun nomi, o’zgartirish kiritilayotgan jadvalning ustunlaridan iborat. Qiymat bu skalyar ifoda bo’lib, yangi qiymatni bildiradi, bu ifodada o’zgarmaslardan tashqari ustunlarning nomi ham qatnashishi mumkin. Agarda mavjud bo’lsa, u holda qiymat ifodasida FROM konstruksiyasida ko’rsatilgan jadvallarning ustunlari qatnashishi mumkin. Agarda WHERE konstruksiyasi bo’lmasa, barcha satrlarni qiymatlari o’zgaradi, aks holda tanlangan satrlar ustunlari o’zgaradi.