3.axborot texnologiyalari (m.aripov, b.begalov va b.) (1)
Misol: SelectName,sum(Los)fromfactory whereSalary>avr(Salary); Bundayhollardakompyuterxabarberadi: setfunctionnotallowedhere va avr funksiyasiga ishora qiladi.Darajagako'tarishvaabsolyutqiymatinihisoblashuchunSQR quyi dagifunksiyalaminazardatutadi. 6 . POWER(m,n)—funksiya«m»sonini«n»darajaga ko'taradi. 7.SQRT(N)—«n»sonidankvadratildizhisoblaydi. 8 .ABS(n)—«n»ningabsolyutqiymatinihisoblaydi; b) satrlifunksiyalar.Bufunksiyalarningargumentisatrdaniboratbo'ladi.Sonlifunksiyalardanfarqqilganholda,satrlilarbutunustunbilanemas,balkifaqataniqmatnmatnlimiqdorbilanbog'langan. Satrlifunksiyaningishinatijasiyokisonyoxudsatrlimiqdorbo'ladi. Bizningcha,satrlifunksiyalarningbarchasinikeltirishmaqsadgamuvofiqboimasedi. Chunkiularkamdankamqo'llanadi. 9.LOWER(char)— dastlabboshharflar bilan berilgan char satrliiborasikichikharflarbilanbosiladi. Misol: selectLOWER('factory’)'lower' fromcan;Bosmagachiqariiganda quyidagi hosil bo'ladi:lower
factory; 10.UPPER(char)—satrliiborabosmagaboshharflarbilanbosiladi. 11.LENGTH(char)—satrlimiqdordabelgilar(simvol)yig'indisinihisoblaydi. Misol: selectName,length(Name)fromfactory; whereLOS>=14 Natijadaekrandaquyidagilarhosilbo'ladi: Name Length(Name) RustamB. 9 ErkinJ. 8
BarotB. 8
Belgilarnihisoblashdamashinaoraliqvanuqtalamihisobgaoladi. 12. SUBSTR (char.m[,n)) — «n» uzunlikdagi «m» li pozitsiya (o'rin)dan boshlab o'zgaruvchanni bosibchiqaradi.Agar «n» tushiribqoldi-rilsa,satrlio'zgaruvchan«m»li pozitsiyadanboshlaboxirigacha bosibchiqariladi. Misol: selectsubstr('factory1,3,4')'substring'fromcan; Bosmagaquyidagichiqadi: subringctor 13.TOCHAR(n[,fmt]) Berilgan funksiya «number» turini «char» turiga o'zgartiradi. fmt —sonbo'lishikerak.Agarfmttushibqolganbo'lsa,mashinasatrlio'zgaruvchanningformatidanfoydalanadi. Misol: tochar(234567,'$78,4567')'char'fromcan; Natijadaekrandaquyidagilarhosilbo'ladi: char $23,4567. M a’lumotlarni tartibga solish. Awalgibo'limlardama’lumotlarbazasidanxabarolishusullariko'rsatilganedi.Quyidanatijalamitartiblashusullariberiladi.NatijalamixillargaajratishdaSQLdaquyidagioperatorlarnazardatutilgan. GROUPBY operatori ma’lumotlami guruhgaajratishgaimkoniyatyaratadi:
a)agarsonlima’lumotbo'lsa,o'sishtartibida; b)agarma’lumotbo'lsa,alifbotartibida. Quyidagiikkimisolma’lumotlarni(yuqoridagicha)guruhlargaajratishusullarinitasvirlaydi: selectLos,Namefromfactory groupbyLos,Name; Natijadaquyidagijadvalgaegabo'linadi: Los Name 1 JaneS. 4 EdvinE. 4 MariaG. 5 BiancaA. vah.k. Jadvalda ma’lumotlarni guruhlarga ajratish LOS va NAME parametr-lari bo'yicha amalga oshiriladi.Bunda kompyuter ma’lumotlami LOSparametri bo'yicha guruhga ajratadi, chunki u birinchi bo'lib ko'rsatilgan.AgarikkisatrdaLOSparametrlarimostushsa,bundayholdama’lumotlarniguruhgaajratishNAMEparametribo'yichaamalgaoshiriladi. Misol: selectName,Losfromfactory groupbyName,Los;Natijada: Name Los BarotB. 21 BiancaA. 5 ClintE. 5 DollyS. 14 vah.k. Bumisoldama’lumotlarnitartiblashsatrlio'zgaruvchanNAMEbo'yichaalifbotartibidaamalgaoshiriladi. AVR,SUM ,MAX,C O U N TturidagisonlifunksiyalarniGROUPBYdankeyinqo'llashmumkinemasliginie'tiborgaolishzurur,chunkiularyagonanatijaberadivaGROUPBYo'zmazmuniniyo'qotadi.GROUPBYoperatoriWHEREshartiniqo'llashgaimkonyaratadi. Masalan: selectName,Salaryfromfactory whereSalary>=2350
groupbyName; Natijadaquyidagilargaegabo'lamiz: Name Salary ClintE. 2400 JoanA. 2550 PaulinaT. 2400 RobertR. 2470 RustamB. 2700. Berilgan misoldamashinaawalSalary>=2350shartiga bo'ysunganma’lumotlarnitanlaydi,so'ngrama’lumotlamialifbotartibida guruhlargakiritadi. Havingoperatorianiqbirshartbo'yichatanlanganma’lumotlar-ningfaqatbirqisminitartiblashimkoniniberadi. Havingshartidoimogroupbybilanbirgaqo'llaniladivaSelectoperatoridagiWhereshartikabibirxilahamiyatkasbetadi. Misol: selectName,Los,Deptfromfactory groupbyDept,Los,NamehavingLos>8,5. Kompyuter«factory»ningma’lumotlarini,shubilanbirgafaqatLos>8,5 shartiga monand ma’lumotlami guruhga ajratadi. Bunda guruhgaajratishquyidagichaketma-ketlikdaamalgaoshiriladi.AwalDept nomibilanbo'lganustunlarajratiladi.AgarDeptdabirxilnomlarholatibo'libqolsa,guruhga ajratish Los sonli o'zgaruvchan bo'yicha amalgaoshiriladi. Dept va Los ning birinchi ikkita natijasi mos tushgan holdaginaguruhgaajratishNameparametribo'yichaamalgaoshiriladi
9.3.MySQLtiliasoslari
Quyida qanday qilib mijoz dasturi MySQL ga ulanishiniko'rib chiqamiz. Bu dastur yordamida MySQL-serverga ulanish,SQL-so'rovlarni bajarish va shu so'rovlar natijalariniko'rib chiqish mumkin.Bu qismni o'rganish uchun komp-yuteringizdautilitaMySQLo'matilganvaMySQLserveri bilanbog'langanbo'lishikerak. MySQL serveriga MySQL dasturi yordamida bog'lanish uchun foydalanuvchinominiva,odatda,parolkiritishlozim.Agarservervamijozharxilmashinalardajoylashganbo'lsa,MySQLserveriishgatushirilganxostnominiko'rsatishlozim:
shell> mysql -h host -u user -p
Shundan so'ng ekranda Enter password: so'rovi paydo bo'ladi va sizo'z parolingizni kiritishingiz kerak bo'ladi. Agar ulanish to'g'ri amalgaoshgan bo'lsa,ekranda quyidagi ma’lumot va buyruq satri belgisi paydobo'ladi:MySQL>: WelcometotheMySQLmonitor.Commandsendwith; or\g.YourMySQLconnectionidis459toserverversion: Type’help’ forhelp.mysql> MySQL>belgisiningpaydobo'lishiMySQLdasturiishgatayyorli-ginibildiradi. ServerdanistaganpaytdaQUITbuyrug'initerib,uzilishmumkin: mysql> QUIT
Be Izoh: odatda MySQL lokal mashinaga yangi o'matilgan bo'lsa, murojaat parol va xost kiritilmasdan,buyruq qatorigaMySQL buyrug'ikiritishyo'libilanamalgaoshiriladi.Servergaulangandanso'ngbuyruqlarsintaksisini o'rganish uchun bir necha sodda so'rovlar berishingiz mumkin.Halihechqandayma’lumotlarbazasitanlanmaganiuchunquyidakeltirilganso'rovlarumumiyxaraktergaegabo'ladi. Quyidaserverdan versiyasi va vaqtiniso'raydigansoddabuyrug'ikeltiramiz: mysql> SELECT VERSION(), CURRENT_DATE;
MySQLningbuso’rovgajavobiquyidagijadvaldaniboratningbuso'rovgajavobiquyidagijadvaldaniborat: + ----------------------- + ----------------------------------+
Iversion()Icurrent_date| + ----------------------- + --------------------------------- +
1 rowinset(0 . 0 2 sec) Bu so'rovni bajarish misolida MySQL bilan ishlashning asosiy xususiyatlariniko'rishmumkin: • servergayuborilayotganbuyruq,odatda,SQL-ifodadaniboratbo'lib, ketidan nuqtali vergul keladi.Bu qoidadan chekinish ham bor,masalan, QUIT buyrug'idanso'ngnuqtavergulqo'yilmaydi; • MySQLso'rovnatijasinijadvalshaklidachiqaradi; • so'rov natijalaridan iborat jadvalni chiqargandan so'ng,MySQLqaytarilgan satrlar soni va so'rov bajarish vaqtini ko'rsatadi. Bu qulay,chunkiuserverunumdorliginivaso'rovbajarishsamaradorliginibaholashgaimkonberadi;
so'rov natijalari va bajarilish vaqtini chiqargandan so'ng, MySQLyangiMySQL>satrni chiqaradi,buesa yangi buyruqlami bajarishgatayyorliginiko'rsatadi. MySQL buyruqlari registrga bog'liq emas, shuning uchun quyidagiso'rovlarbirxildir: mysql> select version(), current_date;
mysql> SELECT VERSION(), CURRENT_DATE;
mysql> Select Version(), Surrent_DATE;
MySQLbirsatrgabirnechabuyruqlamijoylashtirishga imkonberadi,lekinularharbirinuqtaliveigulbilantugashikerak.Masalan: mysql> SELECT VERSION(); SELECT NOW();