Verilənlər bazası və onunla işləmə əmrləri (2ci hissə)

Aydan Samedova
Pragmatech
Published in
4 min readSep 23, 2020

Bu məqaləyə başlamazdan əvvəl məqalənin birinci hissəsini oxumağınız məsləhətlidir.

Keçid : https://medium.com/@aydan2903/veril%C9%99nl%C9%99r-bazas%C4%B1-v%C9%99-onunla-i%C5%9Fl%C9%99m%C9%99-%C9%99mrl%C9%99ri-f7bb3206d29c

Əvvəlki məqaləmizdə məlumat bazası əhəmiyyəti və bazanı yığmaq üçün işləmə əmrləri haqqında danışdıq. Indi isə əmrlər(commands) barədə daha çox məlumat alaq.

Cədvəldə dəyişiklik etmək (ALTER)
ALTER TABLE cədvəlin strukturunu dəyişdirir. Verilənlər bazasına bir sütun əlavə etmək üsulu belədir :

ALTER TABLE table_name
ADD column_name datatype;
SELECT studentID, FirstName, LastName, FullName + ColumName
FROM student;
+-----------+-------------------+------------+------------------------+
| studentID | FirstName | LastName | FullName | ColumName|
+-----------+-------------------+------------+------------------------+
| 1 | Monique | Davis | Monique Davis | |
| 2 | Teri | Gutierrez | Teri Gutierrez | |
| 3 | Spencer | Pautier | Spencer Pautier | |
| 4 | Louis | Ramsey | Louis Ramsey | |
| 5 | Alvin | Greene | Alvin Greene | |
| 6 | Sophie | Freeman | Sophie Freeman | |
| 7 | Edgar Frank "Ted" | Codd | Edgar Frank "Ted" |
|
| 8 | Donald D. | Chamberlin | Donald D.Chamberlin | |
| 9 | Raymond F. | Boyce | Raymond F. Boyce |
+-----------+-------------------+------------+------------------------+

Yoxlamaq (CHECK)
Yoxlama məhdudiyyəti bir sütuna yerləşdirilə bilən dəyər aralığını məhdudlaşdırmaq üçün istifadə olunur.

Tək bir sütunda bir Yoxlama məhdudiyyəti təyin etsəniz, bu sütun üçün yalnız müəyyən dəyərlərə icazə verir. Bir cədvəldə Yoxlama məhdudiyyətini təyin etsəniz, sıradakı digər sütunlardakı dəyərlərə əsasən müəyyən sütunlardakı dəyərləri məhdudlaşdıra bilər.

Aşağıdakı SQL, “Şəxslər” cədvəli yaradıldıqda, “Yaş” sütununda Yoxlama məhdudiyyəti yaradır. Yoxlama məhdudiyyəti, 18 yaşdan aşağı bir nəfər ola bilməyinizi təmin edir.

CREATE TABLE insanlar (
ID int NOT NULL,
soyad varchar(255) NOT NULL,
ad varchar(255),
yas int,
CHECK (yas>=18)
);

Bir CHECK limitinin adlandırılmasına icazə vermək və birdən çox sütunda bir CHECK məhdudiyyətini təyin etmək üçün aşağıdakı SQL sintaksisini istifadə edin:

CREATE TABLE insanlar (
ID int NOT NULL,
soyad varchar(255) NOT NULL,
ad varchar(255),
yas int,
olke varchar(255),
CONSTRAINT CHK_insanlar CHECK (yas>=18 AND olke='Azərbaycan')
);

WHERE
(AND, OR, IN, BETWEEN, and LIKE)

WHERE əmri , dönən sətirlərin sayını məhdudlaşdırmaq üçün istifadə olunur.

Nümunə olaraq əvvəlcə bir SELECT ifadəsini və WHERE ifadəsi olmadan nəticələri göstərəcəyik. Sonra yuxarıdakı beş seçmənin hamısını istifadə edən WHERE ifadəsini əlavə edəcəyik.

SELECT studentID, FullName, sat_score, rcd_updated FROM student;+-----------+------------------------+-----------+---------------------+
| studentID | FullName | sat_score | rcd_updated |
+-----------+------------------------+-----------+---------------------+
| 1 | Monique Davis | 400 | 2017-08-16 15:34:50 |
| 2 | Teri Gutierrez | 800 | 2017-08-16 15:34:50 |
| 3 | Spencer Pautier | 1000 | 2017-08-16 15:34:50 |
| 4 | Louis Ramsey | 1200 | 2017-08-16 15:34:50 |
| 5 | Alvin Greene | 1200 | 2017-08-16 15:34:50 |
| 6 | Sophie Freeman | 1200 | 2017-08-16 15:34:50 |
| 7 | Edgar Frank "Ted" Codd | 2400 | 2017-08-16 15:35:33 |
| 8 | Donald D. Chamberlin | 2400 | 2017-08-16 15:35:33 |
| 9 | Raymond F. Boyce | 2400 | 2017-08-16 15:35:33 |
+-----------+------------------------+-----------+---------------------+

İndi SELECT sorğusunu təkrarlayacağıq, ancaq WHERE ifadəsini istifadə edərək qaytarılan sətirləri məhdudlaşdıracağıq.

STUDENT studentID, FullName, sat_score, recordUpdated
FROM student
WHERE (studentID BETWEEN 1 AND 5 OR studentID = 8)
AND
sat_score NOT IN (1000, 1400);
+-----------+----------------------+-----------+---------------------+
| studentID | FullName | sat_score | rcd_updated |
+-----------+----------------------+-----------+---------------------+
| 1 | Monique Davis | 400 | 2017-08-16 15:34:50 |
| 2 | Teri Gutierrez | 800 | 2017-08-16 15:34:50 |
| 4 | Louis Ramsey | 1200 | 2017-08-16 15:34:50 |
| 5 | Alvin Greene | 1200 | 2017-08-16 15:34:50 |
| 8 | Donald D. Chamberlin | 2400 | 2017-08-16 15:35:33 |
+-----------+----------------------+-----------+---------------------+

ORDER BY
ORDER BY, SELECT bölməsindəki maddələrdən bir və ya bir neçəsinin təyin etdiyi nəticəni çeşidləmək üçün bir yol verir. Budur, şagirdləri azalan qaydada FullName-ə görə sıralayan bir SQL. Artan sıralama (ASC), əksinə azalan sıralamaq üçün DESC istifadə edirsiniz.

SELECT *  FullName ORDER BY table_name ASC 
SELECT * FullName ORDER BY table_name DESC
+-----------+----------------------+-----------+---------------------+
| studentID | FullName | sat_score | rcd_updated |
+-----------+----------------------+-----------+---------------------+
| 1 | Alvin Greene | 400 | 2017-08-16 15:34:50 |
| 2 | Donald D.Chamberlin | 800 | 2017-08-16 15:34:50 |
| 4 | Louis Ramsey | 1200 | 2017-08-16 15:34:50 |
| 5 | Monique Davis | 1200 | 2017-08-16 15:34:50 |
| 8 | Teri Gutierrez | 2400 | 2017-08-16 15:35:33 |
+-----------+----------------------+-----------+---------------------+

DELETE (SİL)
DELETE bir cədvəldəki bir qeydin silinməsi üçün istifadə olunur.

Ehtiyatlı ol. Cədvəlin bütün qeydlərini və ya yalnız bir neçəsini silə bilərsiniz. Silmək istədiyiniz qeydləri təyin etmək üçün WHERE şərtindən istifadə edin. Sintaksis belədir:

DELETE FROM table_name
WHERE condition;

Məsələn Id 3 ilə qeydləri şəxsin cədvəlindən silmə istəyirsiz:

DELETE FROM table_name
WHERE Id = 3;

Bir neçə sql əmrləri ilə daha tanış olduq. Əmrlər üzərində tapşırıqlar işləmək istəyirsinizsə bu keçiddən istifadə edərək həm əyləncəli həm də öyrənə biləcəyiniz suallar ilə tanış olacaqsınız.

Keçid : https://sqlbolt.com/

MƏNBƏLƏR

--

--