SQL operatorlari orqali quyidagi vazifalarni bajarish mumkin:
Ma’lumotlarni so‘rov orqali olish.
Jadvalning qatorlariga ma’lumot qo‘shish, qatorlarini o‘chirish va yangilash.
Ob’ektlarni yaratish, o‘zgartirish va o‘chirish.
Ma’lumotlar bazasi va ob’ektlarga ruxsatlarni o‘rnatish.
Ma’lumotlar bazasi foydalanuvchilarini hosil qilish va baza xafsizligini ta’minlash.
2 hil turdagi SQL mavjud: interaktiv va o‘rnatilgan(vstroennыy). SQL ning bu 2 turi
ishlashi bir hil, lekin har xil joyda ishlatiladi.
Interaktiv SQL deganda — ma’lumotlar bazasiga so‘rov orqali murojaat qilib, shu
zahoti natijani olish tushuniladi. Ya’ni bunda ketma-ketlik asosida jarayon sodir bo‘ladi.
So‘rov-natija rejimda ishlaydi.
O‘rnatilgan SQL deganda – so‘rovlar yig‘indisi biror dasturlash tilida ishlatilishi
tushuniladi. Pascal, Delphi, Java tillarida bazaga murojaat qilib, natijani biror
o‘zgaruvchiga yuklab qo‘yamiz va kerakli joyda bu natijani ishlatamiz. Ya’ni bunda
so‘rov berib, darhol natijani ololmaymiz. Natija faqat dasturning davom etishi uchun
olinadi va talab etilgan joyda ishlatiladi.
SQL operatorlari bir necha guruhlarga bo‘lingan. Bu bo‘linish operatorlarning bajarilish
vazifasi asosida bo‘lingan. Ular quyidagilar:
DDL(Data Definition Language) , ANSI bu guruh SDL(Schema Definition Language)
deb ataladi. Bu guruhga ma’lumotlar bazasida ob’ektlar(jadvallar, indekslar)ni hosil
qiluvchi operatorlar kiradi.
DML(Data Manipulation Language) – ma’lumotlarni manipulyatsiya qiluvchi operatorlar
yig‘indisi guruhi. Istalgan vaqtda jadval ichida qanday ma’lumotlar saqlanayotganini
aniqlovchi operatorlar.
DCL(Data Control Language) – ma’lumotlarni boshqaruvchi operatorlar.
ANSI ning ruxsati bilan, DCL DDL ning bir qismi sifatida qaraladi. Bu guruhlarni
aralashtirmaslik zarur. Bular alohida tillar emas, balki SQL operatorlarining guruhlaridir.
SQL komandasi: select haqida
SQL so‘rov tilini o‘rganishni boshlaymiz. Ushbu darsda ma’lum bir sql komandalarini
yozib borishga harakat qilamiz. Bu so‘rov tili bevosita ma’lumotlar bazasi(jadvallar)ga
bog‘liq bo‘lgani uchun, dars boshida biror jadvalni olib, shu jadvalga har xil so‘rovlar
berib boramiz.
TEXNIK TIZIMLARDA AXBOROT TEXNOLOGIYALARI
116
Misollar, oracle ning isqlplus muhitida sinab boriladi va natijalar chiqariladi. Isqlplus
dan boshqa muhitlarda ham bu komandalar ishlaydi, lekin ba’zi o‘zgarishlar bo‘lishi
mumkin(sqlplus, mysql). Komandalarni, o‘rganishga qulay va soddadan qiyinga
ko‘tarilib borish tartibida ko‘rsatib boraman. Iloji boricha to‘liq ma’lumot berishga
xarakat qilamiz.
Bu darsda quyidagi jadvaldan foydalanamiz.
Bu jadval “misol” deb nomlanib, 4 ta ustun va 6 ta qatordan iborat. Yuqoridagi qatorda
faqat qator nomlari aks ettirilgan, ular ma’lumot vazifasini bajarmaydi. 5 ta qatordan
iborat ma’lumot, bizning jadvalimizda joylashgan va biz bu ma’lumotlarni sql so‘rov tili
orqali har xil ko‘rinishda chiqarib olishimiz mumkin. Albatta haqiqiy ma’lumotlar
bazasida bunday kam ma’lumotlar saqlanmaydi, biz misollarni shu kichik ma’lumotlarda
bajaramiz.
Demak birinchi komanda bu – SELECT.
1
select * from misol;
Bu so‘rovning ma’nosi, “misol” jadvalidagi barcha ma’lumotlarni chiqar deganidir. “*”
barcha ustunlardagi ma’lumotlarni degani. “select” – esa ekranga chiqar degani. Natijani
ko‘ramiz:
Agar bizga barcha ustun ma’lumotlar emas, faqatgina ba’zi birlari kerak bo‘lsa, kerakli
ustun nomlarini vergul orqali nomma nom yozamiz.
1
select name, surname, year from misol;
Natija:
Ma’lumotlar bazasidan, ma’lumotlarni chiqarishda mantiqiy amallar orqali( + , — , * ,/
,() ), ma’lumotlarga o‘zgartirish kiritib, ekranga chiqarishimiz mumkin bo‘ladi.
1
select name, year+15, num*10 from misol;
Natijani ko‘rsangiz, so‘rov tili orqali, ma’lumotlarni o‘zgartirganimizni ko‘rishingiz
mumkin bo‘ladi.
TEXNIK TIZIMLARDA AXBOROT TEXNOLOGIYALARI
117
yoki bo‘lmasa quyidagicha
1
select year+10*num, name from misol;
Agar bazadagi ustun nomlari sizga yoqmasa, siz ularni o‘zingiz hohlaganday nom bilan
ekranga chiqarishingiz mumkin bo‘ladi, bunda ma’lumotlar bazasidagi ustun nomlari
o‘zgarmaydi, faqat ekranda o‘zgargan ko‘rinishi chiqadi. Bunda bizga “as” kalit so‘zi
yordam beradi.
1
select name as ism, surname as familiya from misol;
Agar nomlarni qo‘shtirnoq ichiga olsangiz, qo‘shtirnoqdagi katta kichik harflar farqli
bo‘lib qoladi.
1
select name as “IsM”, surname as “FamiliyA” from misol;
Agar 2 ta ustun natijalarini birlashtirib, ekranga chiqarmoqchi bo‘lsangiz “||” belgisidan
foydalanishingiz mumkin bo‘ladi.
1
select year||num, name from misol;
yoki
1
select year||’OK’||num, name from misol;
TEXNIK TIZIMLARDA AXBOROT TEXNOLOGIYALARI
118
Agar chiqarayotgan natijaning davomiga qandaydir belgilar(qo‘shtirnoq, vergul, nuqta)
chiqarmoqchi bo‘lsangiz, maxsus “q” va qo‘shtirnoq belgilari orasiga kerakli belgilarni
yozishingiz mumkin bo‘ladi.
1
select name||q'[ , so? it’s ]' from misol;
SQL so‘rov komandasi: where haqida
Bu dars davomida sql so‘rov tilining asosiy shart qo‘yish operatori( where) haqida
yozmoqchiman. Bu operatorni o‘rganishda bizga “ test” nomli quyidagi jadval kerak
bo‘ladi.
Shu jadvalga so‘rovlar berish orqali “ where” operatorini o‘rganamiz.
“Where” operatori so‘rovni 2 ga bo‘lib beruvchi hisoblanadi. Undan so‘ng so‘rovga
qo‘yiladigan shartlar yoziladi. Uning umumiy ko‘rinishi:
|