Bu təlimatda, SQL-nin daha çox istifadə olunan bəzi elementlərini, hətta az rast gəlinənləri də sənədləşdirən faydalı bir fırıldaqçı vərəqi tapa bilərsiniz. İnşallah inkişaf etdiricilərə – həm başlanğıc, həm də təcrübəli səviyyəyə – SQL dilini anlamaqda daha təcrübəli olmağa kömək edəcəkdir.
İnkişaf zamanı sürətli bir istinad, bir təlim vəsaiti kimi istifadə edin və ya istəsəniz (nə işləyirsə də) istəsəniz onu çap etdirin və bağlayın..
Lakin SQL ilə tanış olmayan inkişaf etdiricilər üçün fırıldaqçı vərəqə başlamazdan əvvəl …
SQL, Strukturlaşdırılmış Sorgulamış Dili deməkdir. Bu günün internetində əlaqəli verilənlər bazası daxilində məlumatların saxlanması, işlənməsi və alınması üçün seçim dili. Çoxu, olmasa hamısı ziyarət etdiyiniz veb saytların hamısı, o cümlədən, bu və ya digər şəkildə istifadə edəcəkdir bu biri.
Budur əsas relational verilənlər bazası. Bu nümunə, e-ticarət məlumatlarını, xüsusən satışda olan məhsulları, satın alan istifadəçiləri və bu 2 müəssisəni birləşdirən bu sifarişlərin qeydlərini saxlayır..
SQL istifadə edərək, sorğu yazmaqla verilənlər bazası ilə qarşılıqlı əlaqə qura biləcəksiniz, icra edildikdə, onun meyarlarına cavab verən istənilən nəticəni geri qaytarırsınız.
Nümunə sorğusu:-
SEÇİN * istifadəçilər;
Bu SELECT ifadəsini istifadə edərək, sorğu istifadəçi cədvəlindəki bütün sütunlardan bütün məlumatları seçir. Sonra ümumiyyətlə nəticələr dəsti adlandırılan aşağıdakı kimi məlumatları qaytaracaqdır:-
Yıldız yeraltı işarəsi simvolunu (*) əvəzinə xüsusi sütun adları ilə əvəz etsəydik, yalnız bu sütunların məlumatları sorğu-dan geri qaytarılacaqdır.
SELECT ilk adı, son adı FROM istifadəçiləri;
Qayıdıldığı şeyləri süzgəcdən keçirməyə imkan verən WHERE bir cümlə əlavə edərək standart SELECT ifadəsinə bir az mürəkkəblik əlavə edə bilərik..
SEÇMƏK * ƏMƏKDAŞDIRILDIRILAN məhsullar <= 10 ORDER BY stock_count ASC;
Bu sorğu, nəticələr toplusunda 10-dan az bir səhm_ dəyəri olan məhsullar cədvəlindəki bütün məlumatları qaytaracaqdır.
SİFARİŞ BY sözünün istifadəsi nəticələrin stock_count sütunundan, ən aşağı dəyərlərdən ən yüksəkə qədər istifadə ediləcəyi deməkdir..
INSERT INTO ifadəsindən istifadə edərək bir cədvələ yeni məlumatlar əlavə edə bilərik. İstifadəçilər cədvəlinə yeni bir istifadəçi əlavə edən əsas nümunə:-
INSERT INTO istifadəçiləri (ilk adı, soyadı, adı, ünvanı, e-poçt)
Qiymətlər ('Tester', 'Jester', '123 Fake Street, Sheffield, Birləşmiş Krallıq', '[email protected]');
İstifadəçinin cədvəlindəki bütün məlumatları qaytarmaq üçün sorğu-nu yenidən hazırlasaydınız, nəticələr belə görünərdi:
Əlbəttə ki, bu nümunələr SQL dilinin nəyə qadir olduğunu yalnız çox kiçik bir seçim nümayiş etdirir.
SQL vs MySQL
Daha əvvəl MySQL haqqında eşitmisiniz. Bunu aydın bir fərq olduğu üçün SQL ilə qarışdırmamağınız vacibdir.
SQL dır,-dir,-dur,-dür dil. Nisbi verilənlər bazasını idarə edən sorgular yazmağa imkan verən sintaksis təsvir edilmişdir. Daha heç nə.
MySQL bu vaxt bir verilənlər bazasıdır sistemi bir serverdə çalışır. O tətbiq edir MySQL verilənlər bazasını idarə etmək üçün sintaksisindən istifadə edərək sorğu yazmağa imkan verən SQL dilidir.
MySQL ilə yanaşı SQL tətbiq edən digər sistemlər də mövcuddur. Ən populyar olanlardan bəziləri bunlardır:
PostgreSQL
SQLite
Oracle verilənlər bazası
Microsoft SQL Server
MySQL qurmaq
Windows
MySQL-ni Windows-a yükləməyin tövsiyə olunan yolu, yükləyə biləcəyiniz quraşdırıcıyı istifadə etməklə MySQL veb saytı.
MacOS
MacOS-da MySQL-in quraşdırılmasının tövsiyə olunan yolu doğma paketlərdən istifadə olunur, bu, əslində olduğundan daha mürəkkəb səslənir. Əslində, bu yalnız bir yükləməyi də əhatə edir quraşdırıcı.
Alternativ olaraq paket rəhbərləri kimi istifadə etməyi üstün tutursan Homebrew, kimi MySQL quraşdıra bilərsiniz:
dəm quraşdırma mysql
İnternetdə bu gün də geniş istifadə olunan köhnə MySQL 5.7 versiyasını quraşdırmaq lazımdırsa, bunları edə bilərsiniz:
dəm quraşdırma [e-poçt qorunan]
MySQL istifadə
SQL sorğularınızı yazmaq və mümkün qədər tez getmək üçün indi sisteminizdə quraşdırılmış MySQL ilə verilənlər bazalarınızın idarə olunmasını daha sadə, daha asan etmək üçün SQL idarəetmə tətbiqindən istifadə etməyiniz tövsiyə olunur..
Əsasən eyni işi seçmək üçün çox sayda tətbiq var, buna görə hansının istifadə ediləcəyi şəxsi seçiminizə aiddir:
MySQL Workbench MySQL sahibi Oracle tərəfindən hazırlanmışdır.
HeidiSQL(Tövsiyə olunan Windows) Windows üçün pulsuz, açıq mənbəli bir tətbiqdir. MacOS və Linux istifadəçiləri üçün, Şərab ilk şərt olaraq tələb olunur.
phpMyAdmin veb brauzerində işləyən çox məşhur bir alternativdir.
Sequel Pro(Tövsiyə olunan macOS) bir MacOS'un alternativi və aydın və istifadəsi asan interfeysi sayəsində ən sevdiyimiz bir yerdir.
Öz verilənlər bazanızı yaratmağa vaxt sərf etmək əvəzinə, öz SQL sorğularınızı yazmağa başlamağa hazır olduğunuzda, əvəzinə dummy məlumatlarını idxal etməyi düşünün..
MySQL veb saytı bir sıra təmin edir dummy verilənlər bazası pulsuz yükləyə və sonra SQL tətbiqinizə idxal edə bilərsiniz.
Bunlardan ən çox bəyəndiyimiz budur dünya üçün SQL sorğularını yazmaq üçün bir sıra maraqlı məlumatlar təqdim edən verilənlər bazası. Budur Sequel Pro daxilindəki ölkə cədvəlinin görüntüsü.
Bu nümunə sorğu Kraliça II Yelizaveta ilə birlikdə bütün ölkələri dövlət başçısı olaraq geri qaytarır.
Halbuki bu, 50 milyondan çox əhalisi olan bütün Avropa ölkələrini paytaxtı və əhalisi ilə birlikdə geri qaytarır.
Və bu sonuncu, fransız dilində danışanların ümumi sayının 10% -dən çox olduğu ölkələrdə fransız natiqlərinin orta faizini qaytarır.
Fırıldaqçı vərəq
Açar sözlər
SQL ifadələrində istifadə olunan açar sözlər toplusu, təsvir və uyğun bir nümunə. Daha qabaqcıl açar sözlərin bəziləri sonradan fırıldaqçı vərəqdə öz xüsusi bölməsinə malikdir.
Nümunənin yanında MySQL-nin qeyd edildiyi, bu nümunənin yalnız MySQL verilənlər bazalarına şamil olunduğunu bildirir (hər hansı digər verilənlər bazası sistemindən fərqli olaraq).
SQL Açar sözlər
Açar söz
Təsvir
Əlavə et
Mövcud bir cədvələ yeni bir sütun əlavə edir.
Misal: 'Elektron poçt ünvanı' adlı yeni bir sütunu 'istifadəçilər' adlı bir cədvələ əlavə edir.
ALTER TABLE istifadəçiləri
Əlavə et e-poçt_resres varchar (255);
QAZANMAQ
Mövcud bir cədvəldə yeni bir məhdudiyyət yaradır, bu cədvəldə hər hansı bir məlumat üçün qaydaları təyin etmək üçün istifadə olunur.
Misal: ID və SURNAME sütunlarında 'user' adlı yeni bir PRİMERİ KEY məhdudiyyəti əlavə edir.
ALTER TABLE istifadəçiləri
İstifadəçi TƏKLİF KEY əlavə et (ID, SURNAME);
ALTER CƏDVƏL
Bir cədvəldə sütun əlavə edir, silir və ya düzəliş edir. Yuxarıda göstərildiyi kimi bir cədvəldə məhdudiyyətlər əlavə etmək və silmək üçün də istifadə edilə bilər.
Misal: 'Bəyənilən' adlı yeni bir boolean sütunu 'məşğul' adlı bir cədvələ əlavə edir.
ALTER TABLE sövdələşmələr
Təsdiq boolean əlavə et;
Misal 2: 'Təsdiq edilmiş' sütunu 'sövdələşmələr' cədvəlindən silir
ALTER TABLE sövdələşmələr
DROP COLUMN təsdiq edildi;
Subquery dəyərlərindən biri verilən şərtə cavab verərsə, gerçəyi qaytarır.
Misal: Sifariş almış məhsullar cədvəlindən məhsulları - Sifariş cədvəlində saxlanılır - miqdarı 5-dən çoxdur.
SEÇMƏ adı
FROM məhsulları
HARADA məhsulId = HƏR NƏDİR (məhsulun harada olduqda sifariş verildiyi seçilir> 5);
AS
Yalnız sorğunun müddəti üçün mövcud olan bir taxta dəyəri olan bir cədvəl və ya sütunun adını dəyişir.
Misal: Şimal_east_user_subsmissions sütunu
Ne_subs AS şimali_east_user_subsubs seçin
FROM istifadəçiləri
Harada ne_subs> 5;
ASC
Verilənləri artan qaydada qaytarmaq üçün SİFARİŞ BY istifadə olunur.
Misal: Alma, banan, şaftalı, çəltik
GƏLƏCƏK
Verilən aralığın içərisində dəyərləri seçir.
Misal 1: 100 ilə 150 arasında bir miqdar ilə fond seçir.
SEÇİM * Səhmdən
100 VƏ 150 arasındakı miqdar;
Misal 2: 100 ilə 150 arasında olmayan bir miqdarı olan birjanı seçir. Alternativ olaraq burada NOT sözünü istifadə edərək məntiqi tərsinə çevirir və verilən aralığın xaricində dəyərləri seçir..
SEÇİM * Səhmdən
100 və 150 arasında olmayan miqdar;
NƏZƏR
Şərtlərdən asılı olaraq sorğu nəticəsini dəyişdirin.
Misal: Abunəçilərin sayına əsaslanaraq qərar verən bir çox sütun ilə birlikdə istifadəçilər və abunəliklərini qaytarır.
SELECT ilk adı, soyadı, abunəçiləri seçin
Abunə olduqda CAZIRLAR> 10 'Çox aktiv'
3 və 10 'aralarında' aktiv 'olduqda miqdarı
ELSE 'hərəkətsiz'
Fəaliyyət Sürətləri AS
FROM istifadəçiləri;
YAZIN
Bir sütuna əlavə edilə bilən dəyəri məhdudlaşdıran bir məhdudiyyət əlavə edir.
Misal 1 (MySQL): İstifadəçilər cədvəlinə əlavə edilmiş istifadəçilərin 18 və daha çox olduğundan əmin olur.
Misal 2 (MySQL): Cədvəl artıq yaradıldıqdan sonra bir çek əlavə edir.
ALTER TABLE istifadəçiləri
DƏSTƏK et (yaş> = 18);
Məlumat bazasını yaradın
Yeni bir verilənlər bazası yaradır.
Misal: 'Websetup' adlı yeni bir verilənlər bazası yaradır.
Məlumat bazası saytlarını yarat;
CƏDVƏL yarat
Yeni bir masa yaradır .
Misal: 'Sitesetup' verilənlər bazasında 'istifadəçilər' adlı yeni bir cədvəl yaradır.
İstifadəçilər yarat
id int,
ilk_name varchar (255),
soyad varchar (255),
ünvan varchar (255),
əlaqə_number int
);
TƏCİLİ
Bir sütun üçün standart bir dəyər təyin edir;
Misal 1 (MySQL): Defolt dəyəri 'yer sahibi adı' və mövcud_from sütunu olan günümüzün tarixi dəyərinə sahib bir sütun olan Məhsullar adlı yeni bir cədvəl yaradır..
CƏDVƏL CƏDVƏL məhsullarını (
id int,
adı varchar (255) DEFAULT 'yer sahibi adı',
mövcud_fəaliyyət tarixindən etibarən GETDATE ()
);
Misal 2 (MySQL): Yuxarıdakı kimi eyni, lakin mövcud bir cədvəlin redaktəsi.
ALTER TABLE məhsulları
ALTER adı SET DEFAULT 'yer sahibi adı',
ALTER mövcuddur_ ÖDƏNİŞSİZ GETDATE ();
DELET
Bir cədvəldən məlumatları silmək.
Misal: 674 istifadəçi_id istifadəçisi olan bir istifadəçini silir.
Bir çox OR şərtləri üçün stenoqrafiya kimi bir WHERE bəndinin yanında istifadə olunur.
Buna görə yerinə:-
SEÇİM * istifadəçilər
WHERE ölkə = 'ABŞ' OR ölkə = 'Birləşmiş Krallıq' OR ölkə = 'Rusiya' OR ölkə = 'Avstraliya';
İstifadə edə bilərsən:-
SEÇİM * istifadəçilər
HARA ölkədə ('ABŞ', 'İngiltərə', 'Rusiya', 'Avstraliya');
INSERT GİRİŞ
Bir cədvələ yeni satırlar əlavə edin.
Misal: Yeni bir vasitə əlavə edir.
INSERT INTO avtomobilləri (etmək, model, yürüş, il)
Dəyərlər ('Audi', 'A3', 30000, 2016);
YOXDUR
Boş (NULL) dəyərlər üçün testlər.
Misal: Əlaqə nömrəsi verməmiş istifadəçiləri qaytarır.
SEÇİM * istifadəçilər
Əlaqə_nömrəsi NULL;
YOXDUR
Əks NULL. Boş olmayan dəyərlər üçün testlər / NULL.
KİMİ
Operand dəyəri bir nümunəyə uyğundursa, həqiqi qayıdır.
Misal: İstifadəçinin ilk adı 'son' ilə bitirsə doğrudur.
SEÇİM * istifadəçilər
İlk adı '% oğlu' olduğu kimi;
YOXDUR
Bir qeyd şəraitə cavab vermirsə, gerçəyi qaytarır.
Misal: İstifadəçinin adı və adı 'son' ilə bitməzsə, həqiqi qayıdır..
SEÇİM * istifadəçilər
İlk adı '% oğlu' YOXDUR;
OR
Vəziyyət doğru olduqda məlumat daxil etmək üçün WHERE ilə yanaşı istifadə olunur.
Misal: Şefilddə və ya Manchesterdə yaşayan istifadəçiləri geri qaytarır.
SEÇİM * istifadəçilər
Harada şəhər = 'Şeffild' və ya 'Manchester';
SİFARİŞ
Nəticə məlumatlarını ASC və ya DESC açar sözlərindən istifadə etməklə artan (standart) və ya enən qaydada sıralamaq üçün istifadə olunur.
Misal: Əlifba sırası ilə ölkələrə qayıdır.
SEÇMƏK * ölkələrdən
Sifarişlə BY;
ROWNUM
Sıra nömrəsi keçilmiş şərtə cavab verdiyi nəticələri qaytarır.
Misal: Ölkələr cədvəlindən ilk 10 ölkəni qaytarır.
SEÇMƏK * ölkələrdən
Harada ROWNUM <= 10;
SEÇİN
Bir verilənlər bazasından məlumat seçmək üçün istifadə olunur, sonra nəticələr toplusuna qaytarılır.
Misal 1: Bütün sütunları bütün istifadəçilər arasından seçir.
SEÇİN * istifadəçilər;
Misal 2: İlk istifadəçi adı və soyad sütunlarını bütün istifadəçilərdən seçir.xx
SELECT ilk adı, adı istifadəçi adı;
SEÇMƏN İSTƏYİR
DİQQƏT dəyərləri istisna olmaqla, SELECT kimi rəqəmlər istisna olunur.
Misal: İstifadəçilər cədvəlindəki məlumatlardan istifadə edərək bir ehtiyat masa yaradır.
SELECT * istifadəçilərə daxil olunBackup2020
FROM istifadəçiləri;
SEÇİN
Bir cədvəldən məlumatları kopyalayır və digərinə daxil edir.
Misal: İstifadəçilər cədvəlindən bütün ölkələri geri qaytarır, hər hansı bir dublikat dəyərlərini çıxardır (çox ehtimal ki)
İstifadəçilərdən ölkəni seç;
SEÇİN TOP
Bir cədvəldən qayıtmaq üçün müəyyən sayda yazını qaytarmağa imkan verir.
Misal: Avtomobil masasından ilk 3 avtomobili qaytarır.
SEÇİM TOP 3 * FROM avtomobillər;
SET
Mövcud məlumatları bir cədvəldə yeniləmək üçün UPDATE ilə birlikdə istifadə olunur.
Misal: Sifarişlər cədvəlində 642 id ilə bir sifariş üçün dəyər və kəmiyyət dəyərlərini yeniləyir.
UPDATE sifarişləri
SET dəyəri = 19.49, kəmiyyət = 2
WHERE id = 642;
BƏZİ
HƏR NƏ ilə eynidir.
TOP
Cədvəldən müəyyən sayda qeydləri geri qaytarmaq üçün SELECT ilə yanaşı istifadə olunur.
Misal: İstifadəçilər cədvəlindən ilk 5 istifadəçini qaytarır.
TOP 5 * İSTƏYİR istifadəçilər;
TƏCİLİ CƏDVƏL
DROP-a bənzəyir, ancaq cədvəl və məlumatları silmək əvəzinə bu yalnız məlumatları silir.
Misal: Seans cədvəlini boşaldır, ancaq masanın özünü bütöv buraxır.
TƏCİLİ TABLE sessiyaları;
Birlik
2 və ya daha çox SELECT ifadəsindən nəticələrini birləşdirir və yalnız fərqli dəyərləri qaytarır.
Misal: Hadisələrdən və abunəçi cədvəllərindən şəhərləri qaytarır.
Hadisələri FROM seç
Birlik
Abonentlərdən şəhər seç;
BÜTÜN Birlik
UNION ilə eyni, lakin cüt dəyərləri ehtiva edir.
UNİKAL
Bu məhdudiyyət bir sütundakı bütün dəyərlərin unikal olmasını təmin edir.
Misal 1 (MySQL): Yeni istifadəçilər cədvəli yaratarkən id sütununa unikal bir məhdudiyyət əlavə edir.
İstifadəçilər yarat
id int YOXDUR,
ad varchar (255) YOXDUR,
UNIQUE (id)
);
Misal 2 (MySQL): Bir UNIQUE məhdudiyyətini əlavə etmək üçün mövcud bir sütunu dəyişdirir.
ALTER TABLE istifadəçiləri
UNIQUE (id) əlavə edin;
YENİLƏNİB
Mövcud məlumatları bir cədvəldə yeniləyir.
Misal: Avtomobil cədvəlində 45 id olan bir vasitə üçün yürüş və xidmətDue dəyərlərini yeniləyir.
YENİLƏNİB avtomobillər
Yürüş SET = 23500, serviceDue = 0
Harada id = 45;
Dəyərlər
Cədvələ yeni dəyərlər əlavə etmək üçün INSERT INTO açar sözünün yanında istifadə olunur.
Misal: Avtomobil masasına yeni bir maşın əlavə edir.
INSERT INTO avtomobillər (ad, model, il)
Dəyərlər ('Ford', 'Fiesta', 2010);
HARADA
Yalnız verilən şərtə cavab verən məlumatları daxil etmək üçün nəticələr filtrləyir.
Misal: 1 maddədən çox miqdarda sifarişləri qaytarır.
SEÇMƏK * SİFARİŞLƏR
HARADA miqdar> 1;
Şərhlər
Şərhlər SQL ifadələrinizin bölmələrini izah etməyə və ya kodu şərh etməyə və onun icrasına mane olmağa imkan verir.
SQL-də 2 növ şərh var, tək sətirli və çoxpilləli.
Tek Xətt Şərhləri
Tək xətt şərhləri ilə başlayır -. Sətrin sonundakı bu 2 simvoldan sonra hər hansı bir mətn nəzərə alınmayacaqdır.
-- Seçim sorğum
SEÇİN * istifadəçilər;
Multiline Şərhlər
Çoxdilli şərhlər / * ilə başlayır və * / ilə bitir. Bağlayan simvol tapılana qədər bir neçə xətt boyunca uzanırlar.
/ *
Bu mənim seçdiyim sorğu.
İstifadəçilər cədvəlindəki məlumatların bütün satırlarını tutur
* /
SEÇİN * istifadəçilər;
/ *
Bu, hələ icra etmək istəmədiyim başqa bir seçim sorğusudur
SEÇMƏK * FROM tapşırıqları;
* /
MySQL Məlumat növləri
Yeni bir cədvəl yaratarkən və ya mövcud birini redaktə edərkən hər sütunun qəbul etdiyi məlumat tipini göstərməlisiniz.
Aşağıdakı misalda, id sütununa ötürülən məlumatlar int olmalıdır, ilk_name sütununda ən çox 255 simvoldan ibarət VARCHAR məlumat növü var..
İstifadəçilər yarat
id int,
ilk_name varchar (255)
);
String Məlumat növləri
String Məlumat növləri
Məlumat Növü
Təsvir
CHAR (ölçü)
Məktublar, nömrələr və xüsusi simvollardan ibarət ola bilən sabit uzunluqlu sim. Ölçü parametri, maksimum simli uzunluğu 0 ilə 255 arasında, standart olaraq 1 ilə təyin edir.
VARCHAR (ölçü)
Dəyişən uzunluq simli CHAR () a bənzəyir, lakin maksimum simli uzunluq 0 ilə 65535 arasında dəyişir.
BINARY (ölçü)
CHAR () ilə bənzər, lakin ikili bayt simlərini saxlayır.
VARBINARY (ölçü)
VARCHAR () ilə bənzər, lakin ikili bayt simləri üçün.
TINYBLOB
Maksimum uzunluğu 255 bayt olan İkili Böyük Obyektlərə (BLOB) sahibdir.
TINYTEXT
Maksimum uzunluğu 255 simvol olan bir ip tutur. Bunun əvəzinə daha sürətli alındığına görə VARCHAR () istifadə edin.
TEXT (ölçü)
Maksimum uzunluğu 65535 bayt olan bir sim tutur. Yenə VARCHAR () istifadə etmək daha yaxşıdır.
BLOB (ölçü)
Maksimum uzunluğu 65535 bayt olan İkili Böyük Obyektlərə (BLOB) sahibdir.
MEDIUMTEXT
Maksimum uzunluğu 16,777,215 işarədən ibarət bir simli tutur.
MEDIUMBLOB
Maksimum uzunluğu 16,777,215 bayt olan İkili Böyük Obyektlərə (BLOB) sahibdir.
Uzunluq
Maksimum uzunluğu 4,294,967,295 simvol olan bir ip tutur.
LONGBLOB
Maksimum uzunluğu 4,294,967,295 bayt olan İkili Böyük Obyektlərə (BLOB) sahibdir.
ENUM (a, b, c, s ...)
Yalnız bir dəyəri olan bir simvol obyekti, müəyyənləşdirdiyiniz dəyərlər siyahısından, maksimum 65535 dəyərlərə qədər seçilir. Bu siyahıda olmayan bir dəyər əlavə olunarsa, əvəzinə boş bir dəyər ilə əvəz olunur. Bu baxımdan ENUM-un HTML radio qutularına bənzədiyini düşünün.
0 və ya daha çox dəyərə sahib ola bilən bir obyekt, müəyyənləşdirdiyiniz dəyərlər siyahısından, maksimum 64 dəyərə qədər seçilir. Bu baxımdan SET'in HTML qutularına bənzədiyini düşünün.
Rəqəmsal Məlumat Növləri
String Məlumat növləri
Məlumat Növü
Təsvir
BIT (ölçü)
Defolt olan bir bit-dəyər növü. Bir dəyərdə icazə verilən bitlərin sayı 1-dən 64-dək dəyərləri saxlaya bilən ölçü parametrləri vasitəsilə təyin edilir..
TINYINT (ölçü)
İmzalanmış bir sıra -128 ilə 127 arasında olan çox kiçik bir say və 0 ilə 255 arasında imzalanmamış bir sıra. Burada ölçü parametrləri 255 olan maksimum icazə verilən eni müəyyənləşdirir..
BOOL
Sütunu ölçüsü 1. 0 olan TINYINT-ə qurmağın sürətli yolu 1 yalnış hesab olunur, 1-i doğru hesab olunur.
BOOLEAN
BOOL kimi eyni.
SMALLINT (ölçü)
İmzalanmış aralığı -32768 ilə 32767 arasında olan kiçik bir ədəd və 0 ilə 65535 arasında imzalanmamış bir sıra. Burada ölçü parametrləri maksimum icazə verilən ekranın ölçüsünü göstərir, 255.
MEDIUMINT (ölçü)
İmzalanmış aralığı olan -8388608 ilə 8388607 arasında orta bir ədəd və 0 ilə 16777215 arasında imzalanmamış bir sıra. Burada ölçü parametrləri maksimum icazə verilən ekranın ölçüsünü göstərir, 255.
INT (ölçüsü)
İmzalanmış aralığı olan -2147483648 ilə 2147483647 arasında orta bir ədəd və 0 ilə 4294967295 arasında imzalanmamış bir sıra.
INTEGER (ölçü)
İnt kimi eyni.
BIGINT (ölçü)
İmzalanmış aralığı -9223372036854775808 ilə 9223372036854775807 arasında olan orta bir ədəd və 0 ilə 18446744073709551615 arasında imzalanmamış bir sıra. Burada ölçü parametrləri maksimum icazə verilən ekranın ölçüsünü göstərir, bu da 255.
FLOAT (s)
Üzən nöqtə sayı dəyəri. Dəqiqlik (p) parametr 0 ilə 24 arasındadırsa, məlumat növü FLOAT () olaraq təyin olunur, halbuki 25 ilə 53 arasında olduqda məlumat növü DOUBLE () olaraq təyin olunur. Bu davranış, dəyərlərin saxlanmasını daha səmərəli etməkdir.
DAĞLI (ölçü, d)
Ümumi rəqəmlərin ölçü parametrləri ilə təyin edildiyi və onlu nöqtədən sonra rəqəmlərin sayı d parametri ilə təyin olunduğu bir üzən nöqtə nömrəsinin dəyəri.
QƏRAR (ölçü, d)
Rəqəmlərin ümumi sayının ölçü parametrləri ilə təyin edildiyi dəqiqlikdə sabit nöqtə nömrəsi və onlu nöqtədən sonra rəqəmlərin ümumi sayı d parametr ilə təyin olunur.
Ölçü üçün, maksimum sayı 65, defolt isə 10, d üçün, maksimum sayı 30 və standart olaraq 10.
DEC (ölçü, d)
Qərar kimi.
Tarix / Vaxt Məlumatları növləri
Tarix / Vaxt Məlumatları növləri
Məlumat Növü
Təsvir
TARİX
YYYY-MM-DD formatında '1000-01-01' dən '9999-12-31' aralığına qədər olan sadə bir tarix.
DATETIME (fsp)
YYYY-MM-DD saatı: saat: mm: ss formatında, '1000-01-01 00:00:00' dan '9999-12-31 23:59:59' a qədər dəstəklənən bir diapazon ilə.
Sütun tərifinə DEFAULT və ON UPDATE əlavə edərək, avtomatik olaraq cari tarixə / saata təyin edir.
TIMESTAMP (fsp)
Unix dövründən sonrakı saniyələrin sayına nisbətdə bir dəyər olan Unix Timestamp ('1970-01-01 00:00:00 UTC'). Bunun '1970-01-01 00:00:01' UTC ilə '2038-01-09 03:14:07' UTC arasında dəstəklənən bir sıra var.
Sütun tərifinə DEFAULT CURRENT_TIMESTAMP və BÜTÜN YAXIN DƏSTƏK əlavə edərək, avtomatik olaraq cari tarix / vaxt təyin edir..
TIME (fsp)
Saat: h: mm: ss formatında, '-838: 59: 59' ilə '838: 59: 59' arasında dəstəklənən bir sıra.
İL
'1901' ilə '2155' arasında bir il.
Operatorlar
Arifmetik operatorlar
Arifmetik operatorlar
Operator
Təsvir
+
Əlavə edin
-
Çıxarın
*
Çarpın
/
Bölün
%
Modulo
Bitwise Operator
Bitwise Əməliyyatçılar
Operator
Təsvir
Və
Bitwise və
|
Bitwise OR
^
Bitwise müstəsna OR
Müqayisə etmə operatorları
Müqayisə etmə operatorları
Operator
Təsvir
=
Bərabərdir
>
Daha böyükdür
<
Daha az
> =
Böyük və ya bərabərdir
<=
Az və ya bərabərdir
<>
Bərabər deyil
Mürəkkəb operatorlar
Mürəkkəb operatorlar
Operator
Təsvir
+=
Bərabər əlavə edin
-=
Çıxarış bərabərdir
* =
Çarpın bərabərdir
/ =
Bərabər bölün
% =
Modulo bərabərdir
Və =
Bitwise və bərabərdir
^ - =
Bitwise müstəsna bərabərdir
| * =
Bitwise və ya bərabərdir
Funksiyaları
Sətir funksiyaları
Sətir funksiyaları
Adı
Təsvir
ASCII
Müəyyən bir simvol üçün ekvivalent ASCII dəyərini qaytarır.
CHAR_LENGTH
Bir simvolun xarakter uzunluğunu qaytarır.
CHARACTER_LENGTH
CHAR_LENGTH ilə eyni.
CONCAT
Minimum 2 ilə birlikdə ifadələr əlavə edir.
CONCAT_WS
Birlikdə ifadələr əlavə edir, lakin hər bir dəyər arasında bir ayırıcı ilə.
SAĞLAM
Dəyərlər siyahısındakı bir dəyər mövqeyinə nisbətən bir indeks dəyərini qaytarır.
DƏSTƏK OLUN
Sətirlər siyahısında bir simli mövqeyini qaytarır.
FORMAT
Bir nömrə ötürüldükdə, vergül daxil etmək üçün biçimlendirilmiş rəqəmi qaytarır (məsələn, 3,400,000).
INSERT
Müəyyən bir nöqtədə, müəyyən sayda simvol üçün bir simli digərinə daxil etməyə imkan verir.
İNSTR
Bir sətir digərinin daxilində göründüyü ilk dəfə mövqeyini qaytarır.
LCASE
Bir simli kiçik hərfə çevirin.
SOL
Soldan başlayaraq, verilmiş simvolların sayını bir simdən çıxarın və başqa kimi qaytarın.
HƏYAT
Sətrin uzunluğunu qaytarır, ancaq baytda.
YERİNƏ
Bir simlin digərində ilk meydana gəlməsini qaytarır,
Az
LCASE ilə eyni.
LPAD
Sol yastiqciqlar bir ipi digəri ilə müəyyən bir uzunluğa.
LTRİM
Verilən simdən hər hansı aparıcı boşluğu çıxarın.
MID
Hər hansı bir mövqedən başlayaraq bir simli digərindən çıxarır.
MƏNZİL
Bir substring digərində göründüyü ilk dəfə mövqeyini qaytarır.
TƏKRARLAMAQ
Bir sətri təkrarlamağa imkan verir
TƏCİLİ
Bir sətir altındakı hər hansı bir nümunəni yeni bir alt sətir ilə əvəz etməyə imkan verir.
QAZANMAQ
Sətiri tərsinə çevirir.
HÜQUQ
Sağdan başlayaraq, verilmiş simvolların sayını bir simdən çıxarın və başqa kimi qaytarın.
RPAD
Doğru yastiqciqlar bir ipi digəri ilə müəyyən bir uzunluğa.
RTRİM
Verilən sətirdən hər hansı bir boşluq çıxardılır.
Kosmos
Keçdiyiniz məbləğə bərabər boşluqlarla dolu bir simli qaytarır.
STRCMP
Fərqlər üçün 2 ipi müqayisə edir
SONRA
Hər hansı bir mövqedən başlayaraq digər alt hissədən çıxarır.
SONRA
SUBSTR kimi eyni
SUBSTRING_INDEX
Keçirilmiş substring tapılmadan əvvəl bir sətirdən bir sətir geri qaytarır.
TRIM
Verilmiş simdən arxa və aparıcı boşluqları silir. LTRIM və RTRIM-i birlikdə işlətməyinizlə eyni.
UCASE
Bir simli böyük hərfə çevirin.
UPER
UCASE ilə eyni.
Rəqəmsal funksiyalar
Rəqəmsal funksiyalar
Adı
Təsvir
ABS
Verilmiş sayın mütləq dəyərini qaytarır.
ACOS
Verilmiş nömrənin qövs kosinusunu qaytarır.
ASIN
Verilmiş nömrənin qövs sinusunu qaytarır.
ATAN
Verilən bir və ya 2 ədədin arq tangensini qaytarır.
ATAN2
Verilmiş 2 ədədin qövs tangensini qaytarın.
AVG
Verilən ifadənin orta dəyərini qaytarır.
CEIL
Verilmiş ondalık sayından yuxarıya yaxın ən yaxın bütün nömrəni (tam) qaytarır.
CEILING
CEIL ilə eyni.
COS
Verilmiş bir nömrənin kosinusunu qaytarır.
UŞAQ ÇARPAYISI
Verilmiş bir nömrənin kotangensini qaytarır.
COUNT
SELECT sorğusu ilə geri qaytarılan qeydlərin həcmini qaytarır.
Dərəcələr
Bir radian dəyərini dərəcələrə çevirir.
DİV
Tam ədədləri bölməyə imkan verir.
EXP
Verilmiş sayın gücünə e qayıdır.
Döşəmə
Ən yaxın bütün nömrəni (tam) verilmiş ondalık sayından aşağıya qaytarır.
BÖYÜK
Arqumentlər siyahısında ən yüksək dəyəri qaytarır.
SON
Arqumentlər siyahısındakı ən kiçik dəyəri qaytarır.
LN
Verilmiş sayın təbii logarifmini qaytarır
Qeyd
Verilmiş nömrənin təbii logarifmini və ya verilmiş nömrənin logarifmini verilən bazaya qaytarır
LOG10
LOG ilə eyni edir, ancaq 10-a əsaslanmaq üçün.
LOG2
LOG ilə eyni edir, ancaq 2-yə əsaslanmaq üçün.
MAX
Dəyərlər toplusundan ən yüksək dəyəri qaytarır.
MIN
Dəyərlər toplusundan ən aşağı dəyəri qaytarır.
MOD
Verilmiş sayın qalan hissəsini digər verilmiş nömrəyə bölüşdürür.
PI
PI qaytarır.
Gücü
Verilən nömrənin digər verilmiş nömrənin gücünə qaytarır.
Güc
Gücü eyni.
RADİANLAR
Bir dərəcə dəyərini radianlara çevirir.
RAND
Təsadüfi bir sıra qaytarır.
DÜNYA
Verilmiş nömrəni verilmiş onluğa bərabər miqdarda yuvarlaqlaşdırın.
İMZALA
Verilmiş nömrənin işarəsini qaytarır.
SIN
Verilmiş nömrənin sinusunu qaytarır.
SQRT
Verilmiş sayın kvadrat kökünü qaytarır.
SUM
Verilmiş dəyərlər toplusunun birləşdirilmiş dəyərini qaytarır.
TAN
Verilmiş sayın tangensini qaytarır.
TƏCİLİ
Verilmiş onluğa verilən saya qaytarılır.
Tarix funksiyaları
Tarix funksiyaları
Adı
Təsvir
ƏLAQƏ
Bir tarix aralığını (məsələn: 10 GÜN) bir tarixə əlavə edin (məsələn: 20/01/20) və nəticəni geri qaytarın (məsələn: 20/01/30).
ƏLAQƏ
Vaxt intervalını (məsələn: 02:00) bir müddətə və ya tarixə (05:00) əlavə edin və nəticəni geri qaytarın (07:00).
CURDATE
Cari tarixi alın.
HAL-HAZIRKİ TARİX
CURDATE ilə eyni.
CARİ VAXT
Cari vaxtı alın.
CURRENT_TIMESTAMP
Cari tarix və vaxtı əldə edin.
CURTIME
CURRENT_TIME ilə eyni.
TARİX
Tarixi bir datetime ifadəsindən çıxarır.
TƏQDİMAT
Verilən 2 tarix arasındakı gün sayını qaytarır.
DATE_ADD
ADDDATE ilə eyni.
TARİX FORMATI
Tarixi verilmiş naxışa görə formatlayır.
DATE_SUB
Bir tarix aralığını (məsələn: 10 GÜN) bir tarixə (məsələn: 20/01/20) çıxarın və nəticəni qaytarın (məsələn: 20/01/10).
GÜN
Verilmiş tarix üçün günü qaytarır.
DAYNAME
Verilmiş tarix üçün həftə gününün adını qaytarır.
DAYOFWEEK
Verilmiş tarix üçün həftənin iş günü indeksini qaytarır.
DAYOFYEAR
Verilmiş tarix üçün ilin gününü qaytarır.
ÇIXARIŞ
Verilən hissənin tarixindən çıxarış (məsələn, 20/01/20 = 01 AY).
GÜNLƏRDƏN
Verilmiş rəqəmli tarix dəyərindən tarixi qaytarın.
SAAT
Verilən tarixdən saatı geri qaytarın.
SON GÜN
Verilən tarix üçün ayın son gününü alın.
YERLİ VAXT
Cari yerli tarix və vaxtı alır.
LOCALTIMESTAMP
LOCALTIME kimi eyni.
MAKEDATE
Verilən il və günlərin sayına əsasən bir tarix yaradır və geri qaytarır.
MAKETIME
Verilmiş saat, dəqiqə və ikinci dəyərlərə əsaslanaraq vaxt yaradır və geri qaytarır.
MICROSECOND
Verilmiş bir zamanın və ya tarixin mikrosaniyəsini qaytarır.
DƏQİQƏ
Verilmiş zamanın və ya datetime dəqiqəsini qaytarır.
AY
Verilmiş tarixin ayını qaytarır.
MONTHNAME
Verilmiş tarixin ayının adını qaytarır.
İNDİ
LOCALTIME kimi eyni.
PERIOD_ADD
Verilmiş dövrə ayların sayını əlavə edir.
PERIOD_DIFF
Verilmiş 2 dövr arasındakı fərqi qaytarır.
DÖRDDƏBİR
Verilmiş tarix üçün il rübünü qaytarır.
İKİNCİ
Verilmiş zamanın və ya datetime ikincisini qaytarır.
SEC_TO_TIME
Verilmiş saniyələrə əsaslanaraq vaxtı qaytarır.
STR_TO_DATE
Bir tarix yaradır və verilmiş sətir və formata əsasən qaytarır.
SUBDATE
DATE_SUB ilə eyni.
SUBTIME
Vaxt intervalını (məsələn: 02:00) bir müddətə və ya datetime (05:00) çıxarır və nəticəni (03:00) qaytarır.
SYSDATE
LOCALTIME kimi eyni.
ZAMAN
Verilmiş vaxtdan və ya datetime vaxtı qaytarır.
TIME_FORMAT
Verilmiş vaxtı verilən formatda qaytarır.
TIME_TO_SEC
Zamanı saniyələrə çevirib geri qaytarır.
ZAMAN
Verilmiş 2 vaxt / datetime ifadələri arasındakı fərqi qaytarır.
ZAMAN
Verilmiş tarixin və ya tarixin datetime dəyərini qaytarır.
TO_DAYS
Verilən tarixə '00 -00-0000 'keçən günlərin ümumi sayını qaytarır.
HƏFTƏ
Verilmiş tarix üçün həftə nömrəsini qaytarır.
HƏFTƏ
Verilmiş tarix üçün həftə gününü qaytarır.
Həftə içi
Verilmiş tarix üçün həftə nömrəsini qaytarır.
İL
Verilən tarixdən ili qaytarır.
YEARWEEK
Verilən tarix üçün il və həftə nömrəsini qaytarır.
Misc funksiyaları
Misc funksiyaları
Adı
Təsvir
ZİBİL QABI
Verilmiş nömrəni ikili olaraq qaytarır.
BİNARİ
Verilən dəyəri ikili bir simli olaraq qaytarır.
CAST
Bir növünü digərinə çevirin.
COALEеме
Dəyərlər siyahısından ilk null olmayan dəyəri qaytarın.
Bağlantı_ID
Cari əlaqə üçün unikal əlaqə ID-nı qaytarın.
CONV
Verilmiş nömrəni bir rəqəmli baza sistemindən digərinə çevirin.
ÇEVİRMƏK
Verilmiş dəyəri verilən veri tipinə və ya simvol dəstinə çevirin.
CURRENT_USER
Server ilə eyniləşdirmək üçün istifadə olunan istifadəçi və host adını qaytarın.
MƏLUMAT
Mövcud verilənlər bazasının adını alın.
GROUP BY
Nəticələri qruplaşdırmaq üçün məcmu funksiyalarla (COUNT, MAX, MIN, SUM, AVG) istifadə olunur.
Misal: Aktiv sifarişli istifadəçilərin sayını siyahıya alır.
SELECT COUNT (user_id), aktiv_orders
FROM istifadəçiləri
GROUP BY aktiv_orders;
HAZIRLIQ
Ümumi funksiyaları olan yerdə olduğu yerdə istifadə olunur.
Misal: Aktiv sifarişli istifadəçilərin sayını sadalayır, ancaq 3-dən çox aktiv sifarişli istifadəçiləri daxil edir.
SELECT COUNT (user_id), aktiv_orders
FROM istifadəçiləri
Aktiv_hərəkətlər qrupu
HAZIRLANMASI (user_id)> 3;
İF
Şərt doğrudursa, bir dəyəri qaytarın, əks halda başqa bir dəyəri qaytarın.
IFNULL
Verilmiş ifadə nulla bərabərdirsə, verilmiş dəyəri qaytarın.
ISNULL
İfadə sıfırdırsa, 1-i geri qaytarın, əks təqdirdə 0 qayıt.
LAST_INSERT_ID
Cədvəldə əlavə edilmiş və ya yenilənən son sətir üçün avtomatik artırma nömrəsini qaytarın.
NULLIF
Verilən 2 ifadəni müqayisə edir. Əgər onlar bərabərdirlərsə, NULL qaytarılır, əks halda ilk ifadə qaytarılır.
SESSION_USER
Mövcud istifadəçi və host adlarını qaytarın.
SYSTEM_USER
SESSION_USER ilə eyni.
İstifadəçi
SESSION_USER ilə eyni.
VERSİYA
Verilənlər bazasına güc verən MySQL-in hazırkı versiyasını qaytarır.
Qartal simvolları
SQL-də, işaretciklər, daha mürəkkəb nümunələri olan məlumatları daha səmərəli şəkildə axtarmağa imkan verən BİZLƏRİ VƏ BİLMƏZ açar sözlər ilə istifadə olunan xüsusi simvollardır.
Wildcards
Adı
Təsvir
%
Sıfır və ya daha çox simvola bərabərdir.
Misal 1: Soyadları 'son' ilə bitən bütün istifadəçiləri tapın.
SEÇİM * istifadəçilər
Soyadı SİZİN '% oğlu' olduğu yer;
Misal 2: Nümunə 'che' olan şəhərlərdə yaşayan bütün istifadəçiləri tapın
SEÇİM * istifadəçilər
'% Che%' İSTƏYİRƏN şəhər;
_
Hər hansı bir xarakterə bərabərdir.
Misal: Hər hansı 3 simvoldan başlayaraq 'chester' ardınca yaşayan bütün istifadəçiləri tapın.
SEÇİM * istifadəçilər
'___Chester' şəhərinin olduğu yer;
[charlist]
Siyahıdakı hər hansı bir simvolu bərabərləşdirir.
Misal 1: J, H və ya M ilə başlayan ilk adları olan bütün istifadəçiləri tapın.
SEÇİM * istifadəçilər
WHER'in ilk adı LIKE '[jhm]%';
Misal 2: A - L arasında hərflərlə başlayan bütün istifadəçiləri tapın.
SEÇİM * istifadəçilər
WHER'in ilk adı LIKE '[a-l]%';
Misal 3: N - s arasındakı hərflərlə bitməyən ilk adları olan bütün istifadəçiləri tapın.
SEÇİM * istifadəçilər
WHER'in ilk adı LIKE '% [! N-s]';
Açarlar
Relational verilənlər bazalarında ilkin və xarici açarlar anlayışı mövcuddur. SQL cədvəllərində bunlar məhdudiyyət kimi daxil edilir, burada bir masanın ilkin açar, xarici açar və ya hər ikisi ola bilər.
Ilkin açar
Birincil açar, bir cədvəldəki hər bir qeydin eyniləşdirilməsini təmin edir. Cədvəldə yalnız bir əsas açar ola bilər və bu məhdudiyyəti istənilən tək və ya sütun birləşməsinə təyin edə bilərsiniz. Bununla birlikdə, bu sütun (lar) dakı hər bir dəyərin unikal olmalıdır deməkdir.
Tipik olaraq bir cədvəldə əsas açar şəxsiyyət sütunu olur və ümumiyyətlə AUTO_INCREMENT açar sözü ilə birləşdirilir. Bu, yeni qeydlər yaradıldıqca dəyəri avtomatik olaraq artır deməkdir.
Misal 1 (MySQL)
Yeni bir masa yaradın və əsas düyməni şəxsiyyət sütununa qoyun.
İstifadəçilər yarat
id int BUL YOX,
ilk_name varchar (255),
last_name varchar (255) YOXDUR,
ünvan varchar (255),
e-poçt varchar (255),
PRIMARY KEY (id)
);
Misal 2 (MySQL)
Mövcud bir cədvəl dəyişdirin və ilkin açarı ilk_name sütununa qoyun.
ALTER TABLE istifadəçiləri
ÖDƏNİŞ KEY əlavə et (ilk ad);
Xarici Açar
Xarici bir açar bir sütuna və ya bir çoxuna tətbiq oluna bilər və 2 masanı əlaqəli bir verilənlər bazasında birləşdirmək üçün istifadə olunur.
Aşağıdakı diaqramda göründüyü kimi xarici açarı olan cədvəl uşaq açarı adlanır, istinad edilmiş düymə və ya namizəd açarı olan cədvəl ana masa adlanır.
Bu mahiyyət etibarilə sütun məlumatlarının 2 masa arasında paylaşıldığını bildirir, çünki xarici açar da etibarsız məlumatların ana cədvəldə yer almamasının qarşısını alır..
Misal 1 (MySQL)
Yeni bir masa yaradın və digər cədvəllərdəki şəxsiyyət sənədlərinə istinad edən istənilən sütunu xarici açarlara çevirin.
CƏDVƏL CƏDVƏLİ sifarişlər (
id int YOXDUR,
user_id int,
məhsul_id int,
PRIMARY KEY (id),
XARİCİ KEY (user_id) istifadəçilər (id),
XARİCİ KEY (məhsul_id) REFERENCES məhsulları (id)
);
Misal 2 (MySQL)
Mövcud bir cədvəl dəyişdirin və xarici bir açar yaradın.
ALTER TABLE sifariş
XARİCİ KEY əlavə et (user_id) SİZLƏR istifadəçiləri (id);
Göstəricilər
İndekslər, məlumatların alınmasını daha sürətli və daha səmərəli etmək üçün tez-tez axtarılan sütunlara təyin edilə bilən atributlardır..
Bu, hər bir sütunun indeks halına gətirilməsini nəzərdə tutmur, çünki indeksli bir sütunun bir sütundan daha yenilənməsi üçün daha uzun vaxt tələb olunur. Çünki indeksli sütunlar yeniləndikdə indeksin özü də yenilənməlidir.
Göstəricilər
Adı
Təsvir
INDEX yarat
İstifadəçilər cədvəlinin ilk adı və soyadı sütunlarında 'idx_test' adlı bir indeks yaradır. Bu vəziyyətdə, dublikat dəyərlərinə icazə verilir.
İdx_test yaradın
ON istifadəçiləri (ilk adı, soyadı);
UNİKAL İNDEX yarat
Yuxarıda göstərilənlərlə eyni, lakin dublikat dəyərləri yoxdur.
İNDEX İNEXEX yarat
ON istifadəçiləri (ilk adı, soyadı);
DROP INDEX
Bir indeks çıxarır.
ALTER TABLE istifadəçiləri
DROP INDEX idx_test;
Qoşulur
SQL-də, QOŞULMAQ cümləsi, hər ikisində də göstərilən ümumi bir sütuna əsaslanaraq, çox cədvəldəki məlumatları birləşdirən nəticələr toplusunu qaytarmaq üçün istifadə olunur
İstifadəniz üçün bir sıra müxtəlif birləşmələr mövcuddur:-
Daxil ol (Defolt): Hər iki cədvəldə uyğun dəyərləri olan hər hansı bir qeydi qaytarır.
Sol Qoşulun: İkinci cədvəldəki uyğun gələn qeydlər ilə birlikdə ilk cədvəldəki bütün qeydləri qaytarır.
Sağ qoşul: Birincisindəki hər hansı bir uyğun gələn qeydlər ilə birlikdə ikinci cədvəldəki bütün qeydləri qaytarır.
Tam Qoşulun: Bir matç olduqda hər iki cədvəldəki bütün qeydləri qaytarır.
İşə necə qoşulduğunu görmənin ümumi bir yolu bu kimidir:
Növbəti nümunədə daxili birləşmə, sifariş cədvəlini və sonra 3 fərqli masanı birləşdirən yeni birləşdirici görüntü yaratmaq üçün istifadə ediləcəkdir
İstifadəçi_id və məhsul_idini sifariş vermiş istifadəçinin ilk adı və soyad sütunları ilə birlikdə satın alınan məhsulun adı ilə əvəz edəcəyik..
SELECT order.id, users.first_name, users.surname, products.name 'məhsul adı' olaraq
FROM sifarişləri
INNER SİFARİŞLƏRİ.user_id = users.id
SİFARİŞLƏRƏN INNER QOYULMASI məhsullar_id = products.id;
Görünən nəticələr toplusunu qaytaracaqsınız:
Bax
Görünüş əslində bir etiket altında verilənlər bazasında saxlanılan bir SQL nəticələr toplusudur, buna görə sorğunu yenidən başlatmadan geri qayıda bilərsiniz. Bunlar bir neçə dəfə tələb oluna bilən bahalı SQL sorğusuna sahib olduqda xüsusilə faydalıdır, buna görə eyni nəticələr toplamaq üçün onu təkrar-təkrar işlətmək əvəzinə, sadəcə bir dəfə edə və görüntü kimi saxlaya bilərsiniz..
Baxışlar yaratmaq
Görünüş yaratmaq üçün bunu belə edə bilərsiniz:
Prioritet istifadəçilər yaradın
SEÇİM * istifadəçilər
WHERE ölkə = 'Birləşmiş Krallıq';
Gələcəkdə, saxlanılan nəticə toplusuna daxil olmaq lazımdırsa, bunu belə edə bilərsiniz:
SEÇİN * FROM [prioritet_userlər];
Görüşləri dəyişdirir
YARATDIRMA VƏ ya İDARƏ et.
YARATDIRMA VƏ ya TƏMİZ et
SEÇİM * istifadəçilər
WHERE ölkə = 'İngiltərə' və ya ölkə = 'ABŞ';
Baxışların silinməsi
Görüntünü silmək üçün DROP VIEW əmrini istifadə etmək kifayətdir.
DROP VIEW prioritet istifadəçiləri;
Nəticə
Bugünkü veb saytların əksəriyyəti nisbi verilənlər bazasından istifadə edir. Bu SQL-ni bilmək üçün dəyərli bir dil halına gətirir, çünki daha mürəkkəb, işlək veb sayt və sistemlər yaratmağa imkan verir.
Bu səhifəni işarələməyinizə əmin olun, buna görə gələcəkdə SQL ilə işləyirsinizsə və müəyyən bir operatoru xatırlaya bilmirsinizsə, müəyyən bir sorğu yazmağı və ya işə necə qoşulduğunuzu bilmirsinizsə, onda hazır, kömək etmək istəyən və əlində olan bir fırıldaqçı vərəq.
07.06.2020
SQL Cheat Sheet
Jeffrey Wilson Kateqoriya yoxdur
Bu təlimatda, SQL-nin daha çox istifadə olunan bəzi elementlərini, hətta az rast gəlinənləri də sənədləşdirən faydalı bir fırıldaqçı vərəqi tapa bilərsiniz. İnşallah inkişaf etdiricilərə – həm başlanğıc, həm də təcrübəli səviyyəyə – SQL dilini anlamaqda daha təcrübəli olmağa kömək edəcəkdir.
İnkişaf zamanı sürətli bir istinad, bir təlim vəsaiti kimi istifadə edin və ya istəsəniz (nə işləyirsə də) istəsəniz onu çap etdirin və bağlayın..
Lakin SQL ilə tanış olmayan inkişaf etdiricilər üçün fırıldaqçı vərəqə başlamazdan əvvəl …
Contents
SQL nədir
SQL, Strukturlaşdırılmış Sorgulamış Dili deməkdir. Bu günün internetində əlaqəli verilənlər bazası daxilində məlumatların saxlanması, işlənməsi və alınması üçün seçim dili. Çoxu, olmasa hamısı ziyarət etdiyiniz veb saytların hamısı, o cümlədən, bu və ya digər şəkildə istifadə edəcəkdir bu biri.
Budur əsas relational verilənlər bazası. Bu nümunə, e-ticarət məlumatlarını, xüsusən satışda olan məhsulları, satın alan istifadəçiləri və bu 2 müəssisəni birləşdirən bu sifarişlərin qeydlərini saxlayır..
SQL istifadə edərək, sorğu yazmaqla verilənlər bazası ilə qarşılıqlı əlaqə qura biləcəksiniz, icra edildikdə, onun meyarlarına cavab verən istənilən nəticəni geri qaytarırsınız.
Nümunə sorğusu:-
Bu SELECT ifadəsini istifadə edərək, sorğu istifadəçi cədvəlindəki bütün sütunlardan bütün məlumatları seçir. Sonra ümumiyyətlə nəticələr dəsti adlandırılan aşağıdakı kimi məlumatları qaytaracaqdır:-
Yıldız yeraltı işarəsi simvolunu (*) əvəzinə xüsusi sütun adları ilə əvəz etsəydik, yalnız bu sütunların məlumatları sorğu-dan geri qaytarılacaqdır.
Qayıdıldığı şeyləri süzgəcdən keçirməyə imkan verən WHERE bir cümlə əlavə edərək standart SELECT ifadəsinə bir az mürəkkəblik əlavə edə bilərik..
Bu sorğu, nəticələr toplusunda 10-dan az bir səhm_ dəyəri olan məhsullar cədvəlindəki bütün məlumatları qaytaracaqdır.
SİFARİŞ BY sözünün istifadəsi nəticələrin stock_count sütunundan, ən aşağı dəyərlərdən ən yüksəkə qədər istifadə ediləcəyi deməkdir..
INSERT INTO ifadəsindən istifadə edərək bir cədvələ yeni məlumatlar əlavə edə bilərik. İstifadəçilər cədvəlinə yeni bir istifadəçi əlavə edən əsas nümunə:-
İstifadəçinin cədvəlindəki bütün məlumatları qaytarmaq üçün sorğu-nu yenidən hazırlasaydınız, nəticələr belə görünərdi:
Əlbəttə ki, bu nümunələr SQL dilinin nəyə qadir olduğunu yalnız çox kiçik bir seçim nümayiş etdirir.
SQL vs MySQL
Daha əvvəl MySQL haqqında eşitmisiniz. Bunu aydın bir fərq olduğu üçün SQL ilə qarışdırmamağınız vacibdir.
MySQL bu vaxt bir verilənlər bazasıdır sistemi bir serverdə çalışır. O tətbiq edir MySQL verilənlər bazasını idarə etmək üçün sintaksisindən istifadə edərək sorğu yazmağa imkan verən SQL dilidir.
MySQL ilə yanaşı SQL tətbiq edən digər sistemlər də mövcuddur. Ən populyar olanlardan bəziləri bunlardır:
MySQL qurmaq
Windows
MySQL-ni Windows-a yükləməyin tövsiyə olunan yolu, yükləyə biləcəyiniz quraşdırıcıyı istifadə etməklə MySQL veb saytı.
MacOS
MacOS-da MySQL-in quraşdırılmasının tövsiyə olunan yolu doğma paketlərdən istifadə olunur, bu, əslində olduğundan daha mürəkkəb səslənir. Əslində, bu yalnız bir yükləməyi də əhatə edir quraşdırıcı.
Alternativ olaraq paket rəhbərləri kimi istifadə etməyi üstün tutursan Homebrew, kimi MySQL quraşdıra bilərsiniz:
İnternetdə bu gün də geniş istifadə olunan köhnə MySQL 5.7 versiyasını quraşdırmaq lazımdırsa, bunları edə bilərsiniz:
MySQL istifadə
SQL sorğularınızı yazmaq və mümkün qədər tez getmək üçün indi sisteminizdə quraşdırılmış MySQL ilə verilənlər bazalarınızın idarə olunmasını daha sadə, daha asan etmək üçün SQL idarəetmə tətbiqindən istifadə etməyiniz tövsiyə olunur..
Əsasən eyni işi seçmək üçün çox sayda tətbiq var, buna görə hansının istifadə ediləcəyi şəxsi seçiminizə aiddir:
Öz verilənlər bazanızı yaratmağa vaxt sərf etmək əvəzinə, öz SQL sorğularınızı yazmağa başlamağa hazır olduğunuzda, əvəzinə dummy məlumatlarını idxal etməyi düşünün..
MySQL veb saytı bir sıra təmin edir dummy verilənlər bazası pulsuz yükləyə və sonra SQL tətbiqinizə idxal edə bilərsiniz.
Bunlardan ən çox bəyəndiyimiz budur dünya üçün SQL sorğularını yazmaq üçün bir sıra maraqlı məlumatlar təqdim edən verilənlər bazası. Budur Sequel Pro daxilindəki ölkə cədvəlinin görüntüsü.
Bu nümunə sorğu Kraliça II Yelizaveta ilə birlikdə bütün ölkələri dövlət başçısı olaraq geri qaytarır.
Halbuki bu, 50 milyondan çox əhalisi olan bütün Avropa ölkələrini paytaxtı və əhalisi ilə birlikdə geri qaytarır.
Və bu sonuncu, fransız dilində danışanların ümumi sayının 10% -dən çox olduğu ölkələrdə fransız natiqlərinin orta faizini qaytarır.
Fırıldaqçı vərəq
Açar sözlər
SQL ifadələrində istifadə olunan açar sözlər toplusu, təsvir və uyğun bir nümunə. Daha qabaqcıl açar sözlərin bəziləri sonradan fırıldaqçı vərəqdə öz xüsusi bölməsinə malikdir.
Nümunənin yanında MySQL-nin qeyd edildiyi, bu nümunənin yalnız MySQL verilənlər bazalarına şamil olunduğunu bildirir (hər hansı digər verilənlər bazası sistemindən fərqli olaraq).
Misal: 'Elektron poçt ünvanı' adlı yeni bir sütunu 'istifadəçilər' adlı bir cədvələ əlavə edir.
Misal: ID və SURNAME sütunlarında 'user' adlı yeni bir PRİMERİ KEY məhdudiyyəti əlavə edir.
Misal: 'Bəyənilən' adlı yeni bir boolean sütunu 'məşğul' adlı bir cədvələ əlavə edir.
Misal 2: 'Təsdiq edilmiş' sütunu 'sövdələşmələr' cədvəlindən silir
Misal: 'İstifadəçilər' cədvəlində 'incept_date' sütunu 'datetime' tipinə düzəldin.
Misal: Kadrlar şöbəsində ən çox vəzifəsi olan istifadəçidən daha çox vəzifəsi olan istifadəçiləri geri qaytarır (id 2)
Misal: Londonda, Birləşmiş Krallıqda baş verən hadisələri geri qaytarır
Misal: Sifariş almış məhsullar cədvəlindən məhsulları - Sifariş cədvəlində saxlanılır - miqdarı 5-dən çoxdur.
Misal: Şimal_east_user_subsmissions sütunu
Misal: Alma, banan, şaftalı, çəltik
Misal 1: 100 ilə 150 arasında bir miqdar ilə fond seçir.
Misal 2: 100 ilə 150 arasında olmayan bir miqdarı olan birjanı seçir. Alternativ olaraq burada NOT sözünü istifadə edərək məntiqi tərsinə çevirir və verilən aralığın xaricində dəyərləri seçir..
Misal: Abunəçilərin sayına əsaslanaraq qərar verən bir çox sütun ilə birlikdə istifadəçilər və abunəliklərini qaytarır.
Misal 1 (MySQL): İstifadəçilər cədvəlinə əlavə edilmiş istifadəçilərin 18 və daha çox olduğundan əmin olur.
Misal 2 (MySQL): Cədvəl artıq yaradıldıqdan sonra bir çek əlavə edir.
Misal: 'Websetup' adlı yeni bir verilənlər bazası yaradır.
Misal: 'Sitesetup' verilənlər bazasında 'istifadəçilər' adlı yeni bir cədvəl yaradır.
Misal 1 (MySQL): Defolt dəyəri 'yer sahibi adı' və mövcud_from sütunu olan günümüzün tarixi dəyərinə sahib bir sütun olan Məhsullar adlı yeni bir cədvəl yaradır..
Misal 2 (MySQL): Yuxarıdakı kimi eyni, lakin mövcud bir cədvəlin redaktəsi.
Misal: 674 istifadəçi_id istifadəçisi olan bir istifadəçini silir.
Misal: Çovdar, şaftalı, banan, alma
Misal: İstifadəçilər cədvəlindən ilk_name sütunu silinir.
Misal: 'Websetup' adlı verilənlər bazasını silir.
Misal (MySQL): 'Məhsullar' cədvəlindəki 'adı' sütunundan standart dəyəri silinir.
Misal: İstifadəçilər cədvəlini silir.
Misal: Sövdələşmə maliyyələşdirmə faizi 10-dan az olan hər hansı bir dilerlik siyahısı.
Misal: İstifadəçilər cədvəlindən məlumatları seçir.
Buna görə yerinə:-
İstifadə edə bilərsən:-
Misal: Yeni bir vasitə əlavə edir.
Misal: Əlaqə nömrəsi verməmiş istifadəçiləri qaytarır.
Misal: İstifadəçinin ilk adı 'son' ilə bitirsə doğrudur.
Misal: İstifadəçinin adı və adı 'son' ilə bitməzsə, həqiqi qayıdır..
Misal: Şefilddə və ya Manchesterdə yaşayan istifadəçiləri geri qaytarır.
Misal: Əlifba sırası ilə ölkələrə qayıdır.
Misal: Ölkələr cədvəlindən ilk 10 ölkəni qaytarır.
Misal 1: Bütün sütunları bütün istifadəçilər arasından seçir.
Misal 2: İlk istifadəçi adı və soyad sütunlarını bütün istifadəçilərdən seçir.xx
Misal: İstifadəçilər cədvəlindəki məlumatlardan istifadə edərək bir ehtiyat masa yaradır.
Misal: İstifadəçilər cədvəlindən bütün ölkələri geri qaytarır, hər hansı bir dublikat dəyərlərini çıxardır (çox ehtimal ki)
Misal: Avtomobil masasından ilk 3 avtomobili qaytarır.
Misal: Sifarişlər cədvəlində 642 id ilə bir sifariş üçün dəyər və kəmiyyət dəyərlərini yeniləyir.
Misal: İstifadəçilər cədvəlindən ilk 5 istifadəçini qaytarır.
Misal: Seans cədvəlini boşaldır, ancaq masanın özünü bütöv buraxır.
Misal: Hadisələrdən və abunəçi cədvəllərindən şəhərləri qaytarır.
Misal 1 (MySQL): Yeni istifadəçilər cədvəli yaratarkən id sütununa unikal bir məhdudiyyət əlavə edir.
Misal 2 (MySQL): Bir UNIQUE məhdudiyyətini əlavə etmək üçün mövcud bir sütunu dəyişdirir.
Misal: Avtomobil cədvəlində 45 id olan bir vasitə üçün yürüş və xidmətDue dəyərlərini yeniləyir.
Misal: Avtomobil masasına yeni bir maşın əlavə edir.
Misal: 1 maddədən çox miqdarda sifarişləri qaytarır.
Şərhlər
Şərhlər SQL ifadələrinizin bölmələrini izah etməyə və ya kodu şərh etməyə və onun icrasına mane olmağa imkan verir.
SQL-də 2 növ şərh var, tək sətirli və çoxpilləli.
Tek Xətt Şərhləri
Tək xətt şərhləri ilə başlayır -. Sətrin sonundakı bu 2 simvoldan sonra hər hansı bir mətn nəzərə alınmayacaqdır.
Multiline Şərhlər
Çoxdilli şərhlər / * ilə başlayır və * / ilə bitir. Bağlayan simvol tapılana qədər bir neçə xətt boyunca uzanırlar.
MySQL Məlumat növləri
Yeni bir cədvəl yaratarkən və ya mövcud birini redaktə edərkən hər sütunun qəbul etdiyi məlumat tipini göstərməlisiniz.
Aşağıdakı misalda, id sütununa ötürülən məlumatlar int olmalıdır, ilk_name sütununda ən çox 255 simvoldan ibarət VARCHAR məlumat növü var..
String Məlumat növləri
Rəqəmsal Məlumat Növləri
Ölçü üçün, maksimum sayı 65, defolt isə 10, d üçün, maksimum sayı 30 və standart olaraq 10.
Tarix / Vaxt Məlumatları növləri
Sütun tərifinə DEFAULT və ON UPDATE əlavə edərək, avtomatik olaraq cari tarixə / saata təyin edir.
Sütun tərifinə DEFAULT CURRENT_TIMESTAMP və BÜTÜN YAXIN DƏSTƏK əlavə edərək, avtomatik olaraq cari tarix / vaxt təyin edir..
Operatorlar
Arifmetik operatorlar
Bitwise Operator
Müqayisə etmə operatorları
Mürəkkəb operatorlar
Funksiyaları
Sətir funksiyaları
Rəqəmsal funksiyalar
Tarix funksiyaları
Misc funksiyaları
Misal: Aktiv sifarişli istifadəçilərin sayını siyahıya alır.
Misal: Aktiv sifarişli istifadəçilərin sayını sadalayır, ancaq 3-dən çox aktiv sifarişli istifadəçiləri daxil edir.
Qartal simvolları
SQL-də, işaretciklər, daha mürəkkəb nümunələri olan məlumatları daha səmərəli şəkildə axtarmağa imkan verən BİZLƏRİ VƏ BİLMƏZ açar sözlər ilə istifadə olunan xüsusi simvollardır.
Misal 1: Soyadları 'son' ilə bitən bütün istifadəçiləri tapın.
Misal 2: Nümunə 'che' olan şəhərlərdə yaşayan bütün istifadəçiləri tapın
Misal: Hər hansı 3 simvoldan başlayaraq 'chester' ardınca yaşayan bütün istifadəçiləri tapın.
Misal 1: J, H və ya M ilə başlayan ilk adları olan bütün istifadəçiləri tapın.
Misal 2: A - L arasında hərflərlə başlayan bütün istifadəçiləri tapın.
Misal 3: N - s arasındakı hərflərlə bitməyən ilk adları olan bütün istifadəçiləri tapın.
Açarlar
Relational verilənlər bazalarında ilkin və xarici açarlar anlayışı mövcuddur. SQL cədvəllərində bunlar məhdudiyyət kimi daxil edilir, burada bir masanın ilkin açar, xarici açar və ya hər ikisi ola bilər.
Ilkin açar
Birincil açar, bir cədvəldəki hər bir qeydin eyniləşdirilməsini təmin edir. Cədvəldə yalnız bir əsas açar ola bilər və bu məhdudiyyəti istənilən tək və ya sütun birləşməsinə təyin edə bilərsiniz. Bununla birlikdə, bu sütun (lar) dakı hər bir dəyərin unikal olmalıdır deməkdir.
Tipik olaraq bir cədvəldə əsas açar şəxsiyyət sütunu olur və ümumiyyətlə AUTO_INCREMENT açar sözü ilə birləşdirilir. Bu, yeni qeydlər yaradıldıqca dəyəri avtomatik olaraq artır deməkdir.
Misal 1 (MySQL)
Yeni bir masa yaradın və əsas düyməni şəxsiyyət sütununa qoyun.
Misal 2 (MySQL)
Mövcud bir cədvəl dəyişdirin və ilkin açarı ilk_name sütununa qoyun.
Xarici Açar
Xarici bir açar bir sütuna və ya bir çoxuna tətbiq oluna bilər və 2 masanı əlaqəli bir verilənlər bazasında birləşdirmək üçün istifadə olunur.
Aşağıdakı diaqramda göründüyü kimi xarici açarı olan cədvəl uşaq açarı adlanır, istinad edilmiş düymə və ya namizəd açarı olan cədvəl ana masa adlanır.
Bu mahiyyət etibarilə sütun məlumatlarının 2 masa arasında paylaşıldığını bildirir, çünki xarici açar da etibarsız məlumatların ana cədvəldə yer almamasının qarşısını alır..
Misal 1 (MySQL)
Yeni bir masa yaradın və digər cədvəllərdəki şəxsiyyət sənədlərinə istinad edən istənilən sütunu xarici açarlara çevirin.
Misal 2 (MySQL)
Mövcud bir cədvəl dəyişdirin və xarici bir açar yaradın.
Göstəricilər
İndekslər, məlumatların alınmasını daha sürətli və daha səmərəli etmək üçün tez-tez axtarılan sütunlara təyin edilə bilən atributlardır..
Bu, hər bir sütunun indeks halına gətirilməsini nəzərdə tutmur, çünki indeksli bir sütunun bir sütundan daha yenilənməsi üçün daha uzun vaxt tələb olunur. Çünki indeksli sütunlar yeniləndikdə indeksin özü də yenilənməlidir.
Qoşulur
SQL-də, QOŞULMAQ cümləsi, hər ikisində də göstərilən ümumi bir sütuna əsaslanaraq, çox cədvəldəki məlumatları birləşdirən nəticələr toplusunu qaytarmaq üçün istifadə olunur
İstifadəniz üçün bir sıra müxtəlif birləşmələr mövcuddur:-
İşə necə qoşulduğunu görmənin ümumi bir yolu bu kimidir:
Növbəti nümunədə daxili birləşmə, sifariş cədvəlini və sonra 3 fərqli masanı birləşdirən yeni birləşdirici görüntü yaratmaq üçün istifadə ediləcəkdir
İstifadəçi_id və məhsul_idini sifariş vermiş istifadəçinin ilk adı və soyad sütunları ilə birlikdə satın alınan məhsulun adı ilə əvəz edəcəyik..
Görünən nəticələr toplusunu qaytaracaqsınız:
Bax
Görünüş əslində bir etiket altında verilənlər bazasında saxlanılan bir SQL nəticələr toplusudur, buna görə sorğunu yenidən başlatmadan geri qayıda bilərsiniz. Bunlar bir neçə dəfə tələb oluna bilən bahalı SQL sorğusuna sahib olduqda xüsusilə faydalıdır, buna görə eyni nəticələr toplamaq üçün onu təkrar-təkrar işlətmək əvəzinə, sadəcə bir dəfə edə və görüntü kimi saxlaya bilərsiniz..
Baxışlar yaratmaq
Görünüş yaratmaq üçün bunu belə edə bilərsiniz:
Gələcəkdə, saxlanılan nəticə toplusuna daxil olmaq lazımdırsa, bunu belə edə bilərsiniz:
Görüşləri dəyişdirir
YARATDIRMA VƏ ya İDARƏ et.
Baxışların silinməsi
Görüntünü silmək üçün DROP VIEW əmrini istifadə etmək kifayətdir.
Nəticə
Bugünkü veb saytların əksəriyyəti nisbi verilənlər bazasından istifadə edir. Bu SQL-ni bilmək üçün dəyərli bir dil halına gətirir, çünki daha mürəkkəb, işlək veb sayt və sistemlər yaratmağa imkan verir.
Bu səhifəni işarələməyinizə əmin olun, buna görə gələcəkdə SQL ilə işləyirsinizsə və müəyyən bir operatoru xatırlaya bilmirsinizsə, müəyyən bir sorğu yazmağı və ya işə necə qoşulduğunuzu bilmirsinizsə, onda hazır, kömək etmək istəyən və əlində olan bir fırıldaqçı vərəq.