Praktikaya başdan-ayağa dalmamışdan əvvəl gəlin baxaq, SQL nədir (oxunuşu "es-kyu-el" və ya "sikvel", necə xoşuna gəlirsə) və niyə bu qədər vacibdir.
SQL açılışı Structured Query Language — strukturlaşdırılmış sorğu dilidir. Bu, verilənlər bazası ilə işləmək üçün standart dildir. Hansı DBMS seçməyindən asılı olmayaraq — PostgreSQL, MySQL, Oracle və ya başqa bir şey — demək olar ki, mütləq SQL istifadə edəcəksən.
Təsəvvür elə ki, SQL sənin verilənlər bazası ilə "danışmaq" üsulundur. Məsələn, ona belə bir komanda verirsən: "mənə 18 yaşdan yuxarı olan bütün tələbələri göstər", və o, sehrli çubuq kimi lazım olan məlumatları çıxarır.
SQL-in əsas vəzifələri:
- Məlumatların çıxarılması - "Orta əsrlər tarixi" kursuna kim yazılıb, onu öyrənmək.
- Məlumat əlavə etmək - bazaya yeni tələbə əlavə etmək.
- Məlumat yeniləmək - tələbənin adında səhvi düzəltmək.
- Məlumat silmək - universitetdən sənədlərini götürən tələbəni silmək.
Niyə SELECT lazımdır?
SELECT yəqin ki, SQL-də ən vacib komandadır. İngiliscədən tərcümədə "seçmək" deməkdir. Bu, verilənlər bazasından lazım olan informasiyanı çıxarmaq üçün sənin əsas alətindir.
Təsəvvür elə ki, böyük bir kitabxanaya girmisən, minlərlə kitab var. Python proqramlaşdırması haqqında kitab tapmaq istəyirsən. Raflar arasında gəzmək əvəzinə, kitabxanaçıya deyirsən: "Mənə Python haqqında kitabları gətir".
Verilənlər bazası dünyasında SQL sənin kitabxanaçındır, SELECT isə "Mənə gətir..." komandasıdır.
SELECT ilə həll edə biləcəyin bəzi məsələlər:
- Bütün tələbələrin adlarını almaq.
- Bu semestrdə neçə kursun mövcud olduğunu öyrənmək.
- 90 baldan yuxarı qiymət alan tələbələri tapmaq.
Məlumat çıxarmaqdan əlavə, SELECT imkan verir:
- Məlumatları filtrləmək - "yalnız 18 yaşdan yuxarı tələbələri göstər".
- Məlumatları sıralamaq - "tələbələri soyadına görə sırala".
- Yalnız lazım olan sütunları göstərmək, hamısını yox.
SQL-in əsas üstünlükləri
SQL — demək olar ki, istənilən sahədə qiymətli olan bir bacarıqdır.
Onlayn mağazada satış məlumatlarını analiz etmək istəyirsən? SQL lazımdır.
Tibbi tədqiqatlara nəzarət edirsən? Yenə SQL. Proseslərin avtomatlaşdırılması ilə işləyirsən? Tapdın. SQL.
Niyə SQL bu qədər cool-dur?
- SQL demək olar ki, istənilən verilənlər bazası ilə işləyir.
- SQL elə yazılıb ki, intuitiv başa düşüləndir.
- Hətta mürəkkəb SQL-sorğuları belə kifayət qədər asan başa düşülür.
- SQL ilə böyük həcmdə məlumatı emal etmək və onlardan lazım olan informasiyanı çıxarmaq mümkündür.
PostgreSQL-də şərhlər
Və daha bir vacib məqam – SQL-sorğularda şərhlər. Şərhlər çox faydalı şeydir. Birincisi, orada izahlar və/və ya öz ideyalarını yaza bilərsən. İkincisi, şərhlərlə işləməyən kodu deaktiv etmək olar. Və ya köhnə kod variantını şərhə çevirmək olar.
Mən kodun yanında tez-tez şərhlər yazacam, ona görə də bu gün elə onlardan başlayırıq.
SQL-də, bir çox proqramlaşdırma dillərində olduğu kimi, bir sətrlik və çox sətrlik şərhlər var. Çox sətrlik şərh təxminən belə görünür:
/* şərh mətni şərh mətni şərh mətni */
O, /* simvol cütü ilə başlayır və */ ilə bitir. Bunu bir sətrdə də istifadə etmək olar. Nümunə:
/* şərh mətni */
Həmçinin "sətirin əvvəlindən sonuna qədər" şərh növü var, Java-dakı «//» və ya Python-dakı «#» kimi. Sadəcə SQL-də iki tire və boşluq yazmaq lazımdır. Belə şərhin ümumi görünüşü:
-- şərh mətni
Uzun SQL-sorğusunun nümunəsi, sağ tərəfi şərhə çevrilib:
SELECT * FROM employee -- WHERE YEAR(join_date) = 2015
Yuxarıdakı nümunədə sorğunun şərt hissəsini şərhə çevirdik, ona görə PostgreSQL yalnız bu sorğunu icra edəcək:
SELECT * FROM employee
Mən şərhlərimi kodun yanında yazacam ki, oxumağı asanlaşdırsın və ya çətin məqamları daha rahat başa düşəsən. Artıq bunu edirəm! Sənə də bu faydalı aləti laqeyd yanaşmamağı məsləhət görürəm. :)
SQL-sorğuların stili
SQL dili maksimum user-friendly dizayn olunub.
Birincisi, sorğunun mətnində böyük-kiçik hərf fərqi adətən rol oynamır: SELECT, Select, SeLecT və ya select yaza bilərsən, hamısı işləyəcək. İkincisi, sətrin sonuna keçid adətən heç bir təsir göstərmir. DBMS sorğunu elə emal edə bilər ki, guya hamısı bir uzun sətrdə yazılıb. Yəni, sorğu yazanda müəyyən azadlığın var.
Buna baxmayaraq, yaxşı formatlanmış SQL-kod oxumaq, başa düşmək, debug etmək və dəstəkləmək daha asandır. Ona görə də qəbul olunmuş stil tövsiyələri var.
Formatlama tövsiyələri
- SQL açar sözləri BÖYÜK HƏRFLƏRLƏ.
SELECT,FROM,WHERE,ORDER BYvə s. kimi sözləri böyük hərflə yazmaq adətdir. Bu, onları cədvəl və sütun adlarından vizual ayırmağa kömək edir. SELECT,FROM,WHEREvə digər əsas hissələri yeni sətrdən başla.- Sorğunun sonunda nöqtəli vergül
;standart təlimat ayırıcısı kimi istifadə olunur. Bir skript və ya kod blokunda bir neçə sorğunu ardıcıl icra edəndə bu vacib olur. Hər SQL-sorğunu nöqtəli vergül ilə bitirməyi tövsiyə edirik.
Optimal formatlama nümunəsi:
SELECT customer_id, full_name, email, registration_date
FROM customers
WHERE delivery_address = 'Anytown';
Bu sorğunu başqa cür də, fərqli formatda yaza bilərdin. İndi buna çox ilişmə. Unutma ki, SQL-də məcburi formatlama qaydası yoxdur: əsas prinsip — kodun başa düşülən və oxunaqlı olmasıdır.
GO TO FULL VERSION