Тajriba ishi №8-9 Mavzu: SQL so`rovlar yordamida ma`lumotlarni qayta ishlash dasturini yaratish.
Maqsad: Talabalarda tanlangan topshiriq mavzusi bo`yicha MB ga ma`lumot kiritish, ma`lumotlarni o`zgartirish va o`chirish haqida bilim va malakalarini mustahkamlash.
Vazifa: Talabalar mustaqil ravishda quyidagilarni bajarishi, ular haqida malaka va ko`nikmaga ega bo`lishi lozim.
1. MB ga ma`lumot kiritish, ma`lumotlarni o`zgartirish va o`chirish.
Jihozlar: Kompyuter.
Uslubiy ko`rsatma: Ma`lumotlarni kiritish. SQL orqali jadvallarga yangi ma`lumotlarni kiritish ham mumkin. Buning uchun INSERT operatori ishlatiladi. INSERT operatori sintaksisi quyidagicha:
INSERT INTO jadval (jadval ustunlari nomi) VALUES (jadval ustunlari nomiga mos qiymatlar) Biz ATALABA jadvalini tuzdik, unga birorta ham ma`lumot kiritilmagan. Bu jadvalga SQL orqali ma`lumot kiritish uchun quyidagi buyruqni beramiz:
INSERT INTO atalaba(id,fam,ism,oism,guruh)
VALUES (1,’Karimov’,‘Olim‘,’Valievich’,1)
Buyruqni ishga tushirsak, quyidagi xabarni olamiz:
1 row inserted
Xuddi shunga o`xshash, boshqa talaba haqidagi ma`lumotni ham kiritishimiz mumkin. Agar keyingi talabaning otasi ismi bo`sh bo`lsa, u holda buyruqni quyidagicha yozamiz:
INSERT INTO atalaba(id,fam,ism,oism,guruh)
VALUES (2,’Salimov’,‘Zarif‘,null,1)
AUMT jadvaliga 1-tartib raqamli talaba haqidagi ma`lumotni kiritish uchun quyidagicha buyruq beriladi:
INSERT INTO aumt(id,jins,tvaqt,millat)
VALUES (1,1,12.08.1990,1)
Ma`lumotlarni o`zgartirish. SQL orqali jadvallardagi ma`lumotlar qiymatini o`zgartirish ham mumkin. Buning uchun UPDATE operatori ishlatiladi. UPDATE operatori sintaksisi quyidagicha:
UPDATE jadval SET jadval ustuni nomi qiymat WHERE shart Biz ATALABA jadvalini tuzdik va unga ma`lumot kiritdik. Ammo, 1-kod bilan kiritilgan ma`lumot noto`g`ri kiritilgan. Uni o`zgartirish lozim, ya`ni ’Valievich’ o`rniga ’Solievich’ qiymatni kiritish kerak. Bu qiymatni SQL orqali o`zgartirish uchun quyidagi buyruqni beramiz:
UPDATE atalaba
SET oism ’Solievich’
WHERE id 1
Buyruqni ishga tushirsak, quyidagi xabarni olamiz:
1 row updated
UPDATE operatori yordamida MB dagi ixtiyoriy ma`lumot qiymatini o`zgartirishimiz mumkin. Bundan tashqari birdaniga bir necha ma`lumotlar qiymatini o`zgartirishimiz ham mumkin. Masalan, barcha talabalar “Kamolot” yoshlar uyushmasi a`zosi bo`lishdi, avval ko`pchiligi a`zo emas edi. Buning uchun AKM jadvalidagi Ka atribut qiymatlarini ‘Y’ ga o`zgartirishimiz lozim. Bu ishni amalga oshirish uchun quyidagi buyruqni berishimiz etarli:
UPDATE atalaba SET Ka ‘Y’
Ma`lumotlarni o`chirish. SQL orqali jadvallardagi yozuvlarni o`chirish mumkin. Buning uchun DELETE operatori ishlatiladi. DELETE operatori sintaksisi quyidagicha:
DELETE FROM jadval
WHERE jadval ustuni nomi qiymat Masalan, MB dagi 1-tartibli yozuvni o`chirish lozim. Bu ishni amalga oshirish uchun quyidagi buyruqni berishimiz etarli:
DELETE FROM atalaba
WHERE id = 1
Bu holda, AUMT, ASHMT, AKM, APASP, ATEL, AMANZ, AQAR jadvallardagi id=1 bo`lgan barcha yozuvlar avtomatik ravishda o`chiriladi. Xuddi shuningdek, agar aetim va anogiron jadvallarida ham shu tartibli talaba ma`lumoti bo`lsa, u ham o`chiriladi. Chunki, ushbu jadvallari birlamchi kalitlariga ‘on delete cascade’ sharti qo`yilgan. Bu, agar ATALABA jadvaldan biror yozuv o`chirilsa, u holda unga bog`langan barcha jadvallardagi mos yozuvlar ham avtomatik ravishda o`chirilishini anglatadi.
MB dagi 2008 yil qabul qilingan barcha talabalarni o`chirish lozim. Bu ishni amalga oshirish uchun quyidagi buyruqni berishimiz etarli:
DELETE FROM atalaba
WHERE id = in(select id from akm where qyil<31.12.2008)