ÖN SÖZ Əziz tələbələr və proqramlaşdırma ilə maraqlanan həmvətənlər! Sizə təqdim etdiyim bu vəsait 02-12.07.2016 tarixində Bakı Dövlət Universitetində təşkil etdiyim "MySQL Development Training" təliminin materialları əsasında hazırlanmışdır.Doğma dilimizdə proqramlaşdırma və verilənlər bazası ilə əlaqədar tədris materiallarının azlığı səbəbindən və İT ixtisasında təhsil alan gənclərimizə yardım məqsədilə bu vəsaiti ərsəyə gətirməyi qarşıma məqsəd qoydum.Düşünürəm ki bu kitabda bəhs olunan mövzuları diqqətlə oxuyub nümunələri test etməklə sizlərdə MySQL dili haqqında köklü biliklər formalaşacaqdır. Kitabdan tələbələrlə yanaşı yuxarı sinif şagirdləri, müəllimlər həmçinin verilənlər bazası ilə maraqlanan hər kəs faydalana bilər. Hər birinizə müvəffəqiyyətlər arzu edirəm əzizlərim! Hörmətlə : Etibar Vəzirov
Bu cədvəllər müəyyən daxili xüsusiyyətlərinə görə əlaqəlidirlər.Məsələn : Bəs RELYASİYALILIQnədir?
Windows ƏS -də MySQL -in yüklənməsi : 1. Öncə əməliyyat sisteminizin tipinə uyğun olan MySQL servisini aşağıdakı linkdən yükləyirsiniz : 64 bitlik ƏS üçün : 32 bitlik ƏS üçün : D Qeyd: Əməliyyat sisteminizin tipini müəyyən etmək üçün aşağıdakı instruksiyaya əməl edin : Start menyusunu açın və sağda Computer yazısı üzərində sağ düyməni klik edib Properties seçin: Açılan pəncərədə System başlığı altında System type yazılmış hissəyə nəzər yetirin:
show databases; əmri ilə sistemdə hansı bazalar olduğunu görürük. create database if not exists mynewdb; əmr sətrini yazmaqla mynewdb adında yeni baza yaratmış oluruq. Burada if not exists yazmaqla biz sistem tərəfindən səhv almaq problemini aradan qaldırmış oluruq yəni əgər bu adda baza vardırsa yaradılacaq, yoxdursa sadəcə bizə xəbərdarlıq göndərəcək. Bundan əlavə hər hansı bazanı silmək üçün drop database əmrini istifadə edirik. Desək ki elə bayaqki mynewdb bazasını silmək istəyirik, o zaman yazacağımız əmr sətri belə olacaqdır : drop database if exists mynewdb;
Cari bazada olan cədvəlləri göstərmək üçün show tables; yazmaq lazımdır: show columns from student; yazmaqla da student cədvəlini görüntüləmək olar.
yazmasaydıq) o zaman sadəcə delete from student; sorğusu ilə cədvəldən bütün məlumatlar silinərdi. Bunu bir nümunədə göstərək.Student cədvəlinin surətini çıxarıb içinə məlumat yazaq və onun üçün yuxarıda dediyimiz sorğunu icra edək. create test_student like student; sorğusu ilə student cədvəlinin sturuktur formasını çıxardıq.(copy etdik). Lakin kontent boş olduğu üçün onun daxilinə informasiya yazmaq lazımdır: insert into test_student select * from student; bu sorğu ilə cədvəlin içini doldurduq.İndi isə delete from test_student; əmrinin nə etdiyinə baxaq. Sağdakı şəkildən də göründüyü kimi son yazdığımız sorğu cədvəli kontentini tamamilə silmiş oldu.Ona görə də delete əmri ilə işləyərkən maksimum diqqətli olmaq lazımdır.
Select əmri ilə bir sıra sadə sorğular yazmaq olar.Məsələn student cədvəlində adı Kenan olan şəxsin yaşını öyrənmək istəyirik: select age from student where name='Kenan'; Select sorğusu və where konstruksiyası ilə birlikdə müəyyən məhdudiyyətlər(constraints) qoymaq mümkündür. Məsən biz yuxarıdakı cədvəldən soyadı Agayev və yaşı 20 olan şəxsi seçək istəyiriksə o zaman sorğunu aşağıdakı kimi yazacağıq : select * from student where surname='Agayev' and age='20'; Əgər yuxarıdakı sorğuda and operatoru yerinə or yazsaydıq fərqli nəticə alardıq: select * from student surname='Agayev' or age='20';
Soyadının sonu man ilə bitən şəxslərin ad, soyad və yaşını göstərir : select name,surname,age from student surname like '%man'; Adının əvvəli ay ilə başlayan şəxslərin ad, soyad və yaşını göstərir : select name,surname,age from student where name like 'ay%'; Soyadının içində med olan şəxslərin ad, soyad və yaşını göstərir : select name,surname,age from student where surname like '%med%'; ORDER BY konstruksiyası cədvəldə müəyyən elementə görə sıralanmaq funksiyasını yerinə yetirir.Məsələn biz student cədvəlimizdə şəxslərin yaşa görə sıralanmasını istəyiriksə onda sorğunu bu şəkildə yazacağıq: select * from student order by age; Əks qaydada sıralanma üçün isə sadəcə desc (descending) yazmaq lazımdır: select * from student order by age desc;
*** dərsin sonu Növbəti dərsin mövzusu : MySQL-də müvəqqəti cədvəllər.İndex və foreign key Diqqətiniz üçün təşəkkürlər
atomarlıq prinspi aspektdən asılı olaraq dəyişilə bilər.Məsələn tutaq ki Əli proqramçıdır , lakin müəyyən bir proqramlaşdırmaya aidiyyatı olmayan bir şirkətə CV göndərib orada çalışmaq istəyir.O öz CV-sində kompyuter bilikləri sahəsində MySQL, Java SE/EE, T-SQL, PHP şəklində proqramlama biliklərini yazarsa bu zaman atomarlıq pozulmuş hesab olunmaz çünki müraciət olunan şirkətə proqramçı deyil normal kompyuter bilikləri olan işçi lazımdır.Lakin əgər bu şirkət hər hansı IT şirkəti olarsa bu zaman birgə yazılan bu məlumatlar atomar sayılmaz.Bu zaman məlumatları bu şəkildə ayırmaq lazımdır: Database lang : MySQL, T-SQL Programming lang : Java SE/EE , PHP Atomarlıq cədvəldəki verilənlərə nəzarəti artırmaq baxımından çox faydalıdır.
-də Tranzaksiyalar. Öncəki dərslərdə də qeyd etdiyimiz kimi tranzaksiya bir neçə əməliyyatın vahid bir əməliyyat kimi qəbul olunmasıdır.Xüsusilə ödəmə sistemləri ilə bağlı layihələrdə tranzaksiyalar geniş istifadə olunur.Bununla əlaqədar bir nümunəyə baxaq. Tutaq ki bizdə vasitəçi bir ödəmə sistemi var və bu sistem 1- ci istifadəçinin balansından $500 çıxarıb ikinci istifadəçinin balansına əlavə etməlidir.Bunun üçün iki əməliyyat icra olunmalıdır.Bu iki əməliyyatın vahid bir əməliyyat kimi tam olaraq icra olunması üçün biz tranzaksiya başlatmalıyıq.
Yuxarıdakı şəkillərdən göründüyü kimi www directory root qovlugu daxilində (c:\wamp\www) mysqltraining və test qovluqları olduğu üçün brauzerdə açılan localhost səhifəsində Your Projects başlığı altında bu qovluqların adları görünür. İndi isə PHP-də ilk səhifəmizi yarada və ilk kodumuzu yaza bilərik. c:\wamp\www daxilində myproject qovluğu yaradıb bu qovluğun içində bir text faylı yaradaq və onu notepad+ + editoru ilə açaq.Açılan pəncərədə file menyusundan save as seçərək bu faylı index.php adı ilə yadda saxlayaq. Şəkildən görünür ki php kodlarını <?php ?> tag- ları arasında yazmaq lazımdır.PHP-də ekranda yazı yazdırmaq üçün echo komandasından istifadə olunur. Bu yazdığımız kodu işlətmək üçün brauzerə localhost/myproject və ya localhost/myproject/index.php yazıb enter-ə vururuq: Və artıq ilk php kodumuzu wampserver-lə işə saldıq.İndi isə MySQL və PHP-nin əlaqələndirilməsinə keçə bilərik.
*** dərsin sonu Növbəti təlimlərdə görüşənədək əziz tələbələr... Diqqətiniz üçün təşəkkürlər
Əziz oxucular! Təlim vəsaiti ilə bağlı düşüncə və təkliflərinizi ünvanına və ya facebook səhifəmə yazmağınızı xahiş edirəm.
Müəllif haqqında Etibar Vəzirxan oğlu Vəzirov 29 iyul 1989 tarixində Abşeron rayonu Giləzi qəsəbəsində anadan olmuşdur. 2006-cı ildə orta məktəbi fərqlənmə ilə bitirib BDU -nun Mexanika-riyaziyyat fakültəsinə qəbul olunmuşdur.2010-cu ildə bakalavr, 2013-cü ildə magistratura pilləsini fərqlənmə ilə başa vurmuşdur və həmin ildən bəri İT sektorunda freelancer Java Proqramçı kimi çalışır. AZERBAIJAN CODERS' INSTITUTE - un qurucusudur. Hazırda BDU -nun Tətbiqi riyaziyyat və kibernetika fakültəsinin İT və Proqramlaşdırma kafedrasında Java Texnalogiyaları üzrə mühazirəçi müəllimdir.