Sətirlərin daxil olunması, pozulması və dəyişdirilməsi
İndiyədək biz müxtəlif üsullarla cədvəllərdən məlumatları seçirdik. Onların ora yerləşməsini öyrənmək vaxtı gəlib çatıb.
Dəyişənlar üç əmr vastəsi ilə pozula və yerləşdirilə bilər:
Verilənlərin daxil olunması
Bütün sətirlər yalnız INSERT əmri vastəsi ilə daxil olunur. Ən sadə formada aşağıdakı sintaksisdən istifadə olunur:
INSERT INTO table_name VALUES ( value, value, ... )
Belə ki ticarət agentləri cədvəlinə yazı daxil etmək üçün aşağıdakı əmri istifadə etmək olar:
INSERT INTO Salespeople VALUES( 1008, 'Johnson', 'London', 12 )
Dəyişiklik əmri heç bir çıxış vermir. Lakin Query Analyzer sizə bir yazının daxil olunması barədə məlumat verəcək. Əmrin istifadəsindən qabaq cədvəl mövcud olmalıdır, və VALUES sətirindən sonra mptarozə daxilindıki yazıların hər biri verilmiş sütunlar ilə üst-üstə düşmalidir. Birinci dəyişən birinci sətirə, ikinci-ikinciyə və s.
Əgər sizə boş sətir (NULL) daxil etmək lazımdırsa, onda onu siyahıda qeyd edin. Məs:
INSERT INTO Salespeople VALUES ( 1009, 'Peel', NULL, 12 )
Siz dəqiq daxil edəcəyiniz sütunları da qeyd edə bilərsiniz. Bu dəyişənləri ixtiyari ardıcıllıqda daxil etmək imkanı verir.
INSERT INTO Customers( city, cname, cnum ) VALUES( 'Новосибирск', 'Петров', 2010 )
Fikir versəz görərsiniz ki reytinq və snum sütunları yoxdurlar. Bu o deməkdir ki yazı daxil edilərkən onlara qiymət susmaya görə veriləcək. Adətən bu NULL və ya cədvəl yaradılarkən göstərilən qiymət olur. Buna daha ətraflı irəlidə baxacağıq.
INSERT əmrini sorğunun nəticələrini yerləşdirmək üçün də istifadə etmək olar. Bunu etmək üçün sadəcə olaraq VALUES-də dəyişəni uyğun sorğu ilə dayişirik:
INSERT INTO MoscowStaff SELECT * FROM Salespeople WHERE city = 'Москва'
Burada "Ticarət agentləri" cədvəlindən city="Москва" qiyməti olan bütün məlumatlar MoscowStaff cədvəlinə yerləşdirilir. Bunların işləməsi üçün MoscowStaff cədvəli aşağıdakı şərtləri ödəməlidir:
Sətirlərin cədvəldən silinməsi
Sətirlərin cədvəldən silinməsi üçün DELETE əmrindən istifadə olunur. O ayrı dəyişənləri pozmur, bütün sətiri pozur. Agentlər cədvəlinin bütün tərkibini pozmaq üçün siz aşağıdakı əmri istifadə etməlisiniz:
DELETE FROM Salespeople
Lakin mən sizə yalnız bunu etməyi məsləhət görmürəm.
Adətən sizə cədvəldən bəzi təyin olunmuş sətirləri silmək lazım olur. Bu cür pozulacaq sətirləri təyin etmək üçün sorğularda etdiyimiz kimi şərtləri istifadə edin. Məs, Şilin agentini silmək üçün aşağıdakıları daxil etmək lazımdır:
DELETE FROM Salespeople WHERE snum = 1007
Təbii ki əgər şərtə bir neçə sətir uyğun gələrsə onda onların hahsı silinəcək.
DBASE kimi VBİS (ODBC)-lərdən fərqli olaraq SQL Server yazıları pozuluş kimi qeyd etmir, onları fiziki pozur, yəni onları qaytarmaq olmur. DELETE əmri ilə ehtiyatlı olun!
Sətirin qiymətlərinin dəyişməsi
UPDATE əmri cədvəldə bir neçə və ya bütün yazıları dəyişmək imkanı verir.Bu əmr özündə arxasınca cədvəlin adını göstərən və lazım olacaq dəyişikliyi göstərən SET təklifi olan UPDATE təklifini saxlayır. Məs, bütün sifarişçilərin reytinqini 200-ə dəyişmək üçün aşağıdakı əmri daxil etmək lazımdır:
UPDATE Customers SET rating = 200
UPDATE və DELETE əmrlərinə oxşar olaraq burda da dəyişiklikliyə lazım olacaq sətirləri seçmək olar. İvanov adlı bütün agentinin reytinqini belə dəyişmək olat (kod 1001):
UPDATE Customers SET rating = 300 WHERE snum = 1001
SET təklifində vergül ilə bir neçə cədvəl adı vermək olar.
İndi biz VB-nin tərkibini idarə edək üç əmr öyrəndik. Bunlara sorğunun uzun öyrənilməsini də daxil etsək biz deyə bilərik ki artıq SQL-in əsaslarınl bilirik. Daha nələr olacar? Amerika şoularında deyilən kimi: "İrəlidə siz görəcəksiniz:"