Amaliy Mashg`ulot №2 Mavzu: Standart funksiyalardan foydalanib so’rovlar yaratish. Ishdan maqsad



Download 32,02 Kb.
Sana14.01.2022
Hajmi32,02 Kb.
#364833
Bog'liq
SQL fanidan 4-dedline 653-18 guruh talabasi Ro'ziboyev Ismoiljon


Amaliy Mashg`ulot № 2

Mavzu: Standart funksiyalardan foydalanib so’rovlar yaratish.

Ishdan maqsad: Standart funksiyailardan foydalanish bo`yicha ko`nikmaga ega bo`lish.

Masalani qo`yilishi: Berilgan predmet soha ma`lumotlar bazasidagi barcha ob`yektlarni ustida standart funksiyalardan foydalanib amallarini bajarish.

Jadvallarga satr yoki satrlar qo`shish uchun quyidagi kodlardan foydalaniladi:



Insert into jadval_nomi values (satr_nomi)

Jadvallardan satrlarni o`chirish uchun quyidagi kodlardan foydalaniladi (bu holatda biror bir ustundan ma’lumot tanlab olinadi va o`sha ma’lumot bo`lgan satr o`chiriladi):



Delete from jadval_nomi where ustun_nomi=’malumot’

Jadvallardagi ma’lumotni o`zgartirish uchun quyidagi kodlardan foydalaniladi:



Update jadval_nomi set ustun_nomi=’malumot’ where ustun_nomi=’malumot’;

Ustun tipini o’zgartirish:



Alter table jadval_nomi modify ustun_nomi tipi;

Ustun nomini o’zgartirish:



Alter table jadval_nomi change column mavjud_ustun_nomi yangi_ustun_nomi tipi;

Ichki kalitni qo’shish:



Alter table jadval_nomi add primary key (ustun_nomi);

Ichki kalitni o’chirish:



Alter table jadval_nomi drop primary key;

Tashqi kalitni qo’shish:



Alter table jadval_nomi add foreign key (ustun_nomi) references jadval_nomi(ustun_nomi);

Saqlangan funktsiyani yaratish uchun siz CREATE FUNCTION iborasidan foydalanasiz.

Quyida yangi saqlangan funktsiyani yaratish uchun asosiy sintaksis ko'rsatilgan:

DELIMITER $$
CREATE FUNCTION function_name(

param1,

param2,…

)

RETURNS datatype



[NOT] DETERMINISTIC

BEGIN


-- statements

END $$


DELIMITER ;

MySQL CREATE FUNCTION misoli

Saqlangan funktsiyani yaratish misolini olaylik. Namoyish uchun namunaviy ma'lumotlar bazasidagi mijozlar jadvalidan foydalanamiz.



Quyidagi CREATE FUNCTION iborasi kredit asosida mijoz darajasini qaytaruvchi funksiya yaratadi



DELIMITER $$
CREATE FUNCTION CustomerLevel(

credit DECIMAL(10,2)

)

RETURNS VARCHAR(20)

DETERMINISTIC

BEGIN


DECLARE customerLevel VARCHAR(20);
IF credit > 50000 THEN

SET customerLevel = 'PLATINUM';

ELSEIF (credit >= 50000 AND

credit <= 10000) THEN

SET customerLevel = 'GOLD';

ELSEIF credit < 10000 THEN

SET customerLevel = 'SILVER';

END IF;

-- return the customer level

RETURN (customerLevel);

END$$



DELIMITER ;

Funktsiya yaratilgandan so'ng uni MySQL Workbench da Funktsiyalar bo'limi ostida ko'rishingiz mumkin:

Yoki siz Klassik modellar maʼlumotlar bazasida saqlangan barcha funksiyalarni SHOW FUNCTION STATUS yordamida quyidagi tarzda koʻrishingiz mumkin:

SHOW FUNCTION STATUS

WHERE db = 'classicmodels';



Quyidagi bayonot CustomerLevel saqlangan funksiyasidan foydalanadi:

SELECT



customerName,

CustomerLevel(creditLimit)

FROM


customers

ORDER BY customerName;





Saqlangan protsedurada saqlangan funksiyani chaqirish

Quyidagi bayonot CustomerLevel() saqlangan funksiyasini chaqiruvchi yangi saqlangan protsedura yaratadi:



DELIMITER $$
CREATE PROCEDURE GetCustomerLevel(

IN customerNo INT,

OUT customerLevel VARCHAR(20)

)

BEGIN
DECLARE credit DEC(10,2) DEFAULT 0;





-- get credit limit of a customer

SELECT

creditLimit

INTO credit

FROM customers

WHERE

customerNumber = customerNo;



-- call the function

SET customerLevel = CustomerLevel(credit);

END$$


DELIMITER ;

Quyida GetCustomerLevel() saqlangan protsedurasini qanday chaqirish ko'rsatilgan:



CALL GetCustomerLevel(-131,@customerLevel);

SELECT @customerLevel;

Xulosa:

Xulosa qilsam ushbu amaliy mashg`ulotida ma`lumotlar bazasida Standart funksiyalar bilan ishlash bilan o`z tajribamni yanada mustahkamlab yanda oshirdim.
Download 32,02 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©www.hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish