SQLite
SQLite nədir?
SQLite-ı D. Richard Hipp 2000-ci ildə yazıb. Mühərrik proqramın içinə qoyulur. Başqa bir proses gözləmir. Bütün cədvəllər adətən bir .sqlite və ya .db faylındadır. SQL dili burada da işlənir, amma mühərrik MySQL deyil. MySQL ayrı serverdir və çox adam eyni anda yaza bilər. SQLite bir yazanı rahat saxlayır, çox oxuyanı da buraxır. Python ilə fərqi budur: Python proqramı işlədir, SQLite sətir saxlayır. Python-un standart kitabxanasında sqlite3 var, faylı onunla açır. Node.js ilə fərqi də budur: Node JavaScript işlədir. SQLite faylını paketlə və ya yeni Node-un öz modulu ilə aça bilər. Köhnə Node-da həmin modul yoxdur.
SQLite nə üçün istifadə olunur?
SQLite bir istifadəçinin və ya bir cihazın məlumatı üçündür. Ayar, qeyd və kiçik kataloq onun yeridir.
- Telefon tətbiqinin yerli bazası
- Brauzerin saxladığı qeyd
- Masaüstü proqramın ayarı
- Kiçik saytın bir fayllıq bazası
SQLite ilə nə etmək olar?
SQLite ilə cədvəl yaradırsan, sətir əlavə edir və şərtə görə seçirsən. Ehtiyat nüsxə həmin faylın surətidir. Çox serverdən eyni fayla eyni anda yazmaq onun işi deyil. Böyük saytın sifarişi üçün ayrı server olan baza seçilir.
SQLite öyrənmək çətindirmi?
Faylı açmaq asandır. Çətinlik eyni anda yazmaqdadır. İki proses eyni sətiri dəyişəndə biri gözləyir. Gözləmə uzanırsa əmr dayanır. Faylı başqa qovluğa köçürmək proqramın yolunu da dəyişir. SQL mətninə istifadəçi yazısını yapışdırmaq burada da inyeksiya açır.
Üstünlükləri və məhdudiyyətləri
Üstünlük: quraşdırılacaq server yoxdur, surət bir fayldır, SQL tanışdır. Məhdudiyyət: çox yazan və böyük yük üçün daralır. SQLite MySQL-in kiçik adı deyil. O, faylın içində işləyən mühərrikdir.
Əsas anlayışlar
Fayl bazanın özüdür. Cədvəl sütunların adıdır. Sətir bir qeyddir.
- Ayrı server prosesi yoxdur
- SQL sorğusu burada da işlənir
- Bir yazan rahatdır
- Ehtiyat nüsxə faylın surətidir
Qısa nümunə
Bu sorğu bir cədvəl açır. Fayl yoxdursa mühərrik onu yarada bilər. Serverə bağlanmaq lazım deyil.
CREATE TABLE note ( id INTEGER PRIMARY KEY, text TEXT );
Tez-tez verilən suallar
- SQLite və Python eynidir? Xeyr. Python proqramı işlədir. SQLite sətir saxlayır. Python faylı standart sqlite3 ilə açır.
- SQLite və Node.js eynidir? Xeyr. Node JavaScript işlədir. SQLite faylını paketlə və ya yeni Node-un öz modulu ilə aça bilər. Köhnə Node-da həmin modul yoxdur.
- SQLite və MySQL eynidir? Xeyr. İkisi də SQL işlədir. SQLite bir fayldır, MySQL ayrı serverdir.