FRONT END ÜÇÜN SQL
Bəzən məlumatları sadəcə browser üzərində göstərmək lazım gəlir. Bu vaxt biz datanı backendə saxlamağa və ya Server sessionda sağlamağa həttə sql verilənlər bazasına yazmaq məcburiyətində qalırıq. Əslində buna ehtiyac yoxdur biz browser üzərində bu əməliyyatları apara bilərik. Bunun üçün istifadə olunan texnologiyalardan biri AlaSQL-dir. AlaSQL javascript ilə yazılmış browser üzərində çalışan, In-Memory olaraq məlumatları saxlayan və CRUD -dan əlavə SQL-in bütün xüsusiyyətlərini özündə saxlayan kitabxanadır. Əlavə olaraq aşağıdakı kimi sıralamaq olar xüsusiyyətlərini.
- Javascript ilə yazılmışdır və WebSQL verilənlər bazasından istifadə etmir.
- AlaSQL SQL-in bütün əməliyyatlarını dəstəkləyir. Sadəcə INSERT, DELETE, UPDATE, JOIN, UNION, ANY, ALL, IN deyil həmdə CUBE, ROLLUP kimi mürəkkəb əməliyyatları da dəstəkləyir.
- AlaSQL bütün browserlərdə (veb, mobil) işləyir.
- AlaSQL çox sürətlidir(çox böyük data üçün bunu demək olmaz)
- AlaSQL həm relational verilənlər bazası həm də JSON tipli NOSQL bazası kimi işləyə bilir.
- Məlumatları localStoragedə saxlayır.
- Fiziki repository kimi indexedDB və Exceli istifadə edə bilir.
İndi də sadə bir nümunə üzərində AlaSql-ə giriş edək. Müştərilər cədvəlimiz olsun və biz onun üzərində sadə CRUD əməliyyatları aparaq. Əvvəlcə AlaSQL-i yüklərik.
<script src=”https://cdn.jsdelivr.net/npm/alasql@0.4"></script>
Sonra alasql-i istifadə edə bilərik. script tagları içində alasql(‘query’) şəklində istifadə edə bilərik. Əvvəlcə database yaradaq. Əslində bunu etmək o qədər vacib deyil. Əgər bunu yazmasaq və table yaratsaq database localstorage üzərində yaranmacaq və səhifə refresh edildikdə bütün verilənlər silinəcək.
alasql(`
CREATE LOCALSTORAGE DATABASE IF NOT EXISTS MyFirstDb;
ATTACH LOCALSTORAGE DATABASE MyFirstDb;
USE MyFirstDb;
`);
SQL bilənlər üçün anlaşılandı. MyFirstDb adında localstorage verilənlər bazası yaradırıq və yoxlayırıq əgər bu adda Db yoxdursa yaradırıq. və use ifadəsi ilə bu verilənlər bazasını istifadə edəcəyimizi bildiririk.
alasql(`
CREATE TABLE IF NOT EXISTS Customer (
ID INT AUTOINCREMENT PRIMARY KEY,
FIRSTNAME VARCHAR(25) NOT NULL,
LASTNAME VARCHAR(25) NOT NULL,
AGE NUMBER NOT NULL
);
`);
Customer cədvəlini yaratdıqdan sonra biraz data əlavə edək.
alasql(“Insert into Customer values(1,’Hasan’,’Jafarov’,30)”;
alasql(“Insert into Customer values(1,’Eli’,’Veli’,30)”;
alasql(“Insert into Customer values(1,’Aqil’,’Eliyev’,30)”;
Dataları əlavə etdik. İndi Select ilə sorğulayaq.
alasql(`select * from Customer”);
alasql(`select * from Customer where FIRSTNAME=’HASAN’”);
alasql(`select * from Customer where ID>1");
Məlumatları göstərmək üçün
var data=alasql(“select * from Customer”);
for (var i = 0; i < data.length; i++) {
console.log(data[i].ID+’ ‘+data[i].NAME+’ ‘+data[i].AGE);
}
Məlumat silmək üçün
alasql(“delete from Customer where ID=1”);
Update etmək üçün
alasql(“update Customer set NAME=’Mehman’ where ID=1”);