SQL Cheat Sheet Intro Şəkli


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 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..

Əsas əlaqəli məlumat bazası

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:-

Nümunə istifadəçiləri cədvəli

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;

Misal sütunları olan istifadəçilər masası

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..

Nümunə məhsulları masası

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:

Yeni cərgə ilə nümunə cədvəli

Ə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 vs MySQLSQL 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ı.

MySQL Windows quraşdırın

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ı.

MySQL Mac quraşdırın

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.

Dummy Database MySQL

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ü.

Sequel Pro nümunəsi

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.

Sequel Pro nümunəsi

Halbuki bu, 50 milyondan çox əhalisi olan bütün Avropa ölkələrini paytaxtı və əhalisi ilə birlikdə geri qaytarır.

Sequel Pro nümunəsi

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.

Sequel Pro nümunəsi

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özTəsvir
Əlavə etMö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);
QAZANMAQMö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ƏLBir 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;
ALTER COLUMNBir cədvəl sütununun məlumat növünü dəyişdirir.

Misal: 'İstifadəçilər' cədvəlində 'incept_date' sütunu 'datetime' tipinə düzəldin.

ALTER TABLE istifadəçiləri
ALTER COLUMN, başlamamış gündə;
BÜTÜNBütün sorğu dəyərlərinin hamısı keçilmiş şərtə cavab verərsə, həqiqi qayıdır.

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)

İlk adı, soyadı, vəzifələri_ seç
FROM istifadəçiləri
HARADA tapşırıqlar_no> BÜTÜN (istifadəçi ÜÇÜN TƏMİZLƏNİLƏN TƏMİZLƏR ÜZRƏ şöbə_id = 2);
WHERE bir cümlə daxilində ayrı şərtlərə qoşulmaq üçün istifadə olunur.

Misal: Londonda, Birləşmiş Krallıqda baş verən hadisələri geri qaytarır

SEÇİM * hadisələrdən
WHER host_country = 'Birləşmiş Krallıq' VƏ host_city = 'London';
HƏR HANSISubquery 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);
ASYalnı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;
ASCVerilənləri artan qaydada qaytarmaq üçün SİFARİŞ BY istifadə olunur.

Misal: Alma, banan, şaftalı, çəltik

GƏLƏCƏKVerilə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;
YAZINBir 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.

İstifadəçilər yarat
ilk_name varchar (255),
yaş int,
YAZIN (yaş> = 18)
);

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ınYeni 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 yaratYeni 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 ();
DELETBir cədvəldən məlumatları silmək.

Misal: 674 istifadəçi_id istifadəçisi olan bir istifadəçini silir.

İstifadəçilərin HARADA YAZILMASINI İstifadəçi_id = 674;
DESCVerilənləri azalan qaydada qaytarmaq üçün SİFARİŞ istifadə olunur.

Misal: Çovdar, şaftalı, banan, alma

QAZANMAQCədvəldən bir sütunu silir.

Misal: İstifadəçilər cədvəlindən ilk_name sütunu silinir.

ALTER TABLE istifadəçiləri
Birinci adı
İDARƏ OLUNBütün məlumat bazasını silir.

Misal: 'Websetup' adlı verilənlər bazasını silir.

DROP DATABASE veb-saytları hazırlamaq;
YAXINLANMAQBir sütun üçün standart bir dəyəri çıxarır.

Misal (MySQL): 'Məhsullar' cədvəlindəki 'adı' sütunundan standart dəyəri silinir.

ALTER TABLE məhsulları
ALTER COLUMN adı DROP DEFAULT;
CƏDVƏLİ YAXINBir verilənlər bazasından bir cədvəl silir.

Misal: İstifadəçilər cədvəlini silir.

DROP TABLE istifadəçiləri;
MövcuddurSubquery-də hər hansı bir qeydin olub olmadığını yoxlayır, bir və ya daha çox qeydin qaytarıldığı təqdirdə gerçək qayıdır.

Misal: Sövdələşmə maliyyələşdirmə faizi 10-dan az olan hər hansı bir dilerlik siyahısı.

SEÇİM dilerliyi_ adı
QİYMƏTÇİLƏR
HARADA YERLƏŞDİRMƏ (SEÇMƏ ƏMƏLİYYƏTİ_NARXANI SƏHİFƏ NƏDİR < 10);
FROMVerilənləri seçmək və ya silmək üçün hansı cədvəl müəyyənləşdirir.

Misal: İstifadəçilər cədvəlindən məlumatları seçir.

SELECT sahəsi_manager
FROM bölgə_managers
HARADA YERLƏŞDİRİLMƏSİ (Məhsulları NƏDİR seçin < 20);
İNBir ç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);
YOXDURBoş (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;
YOXDURBir 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;
ORVə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;
ROWNUMSı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ÇİNBir 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İRDİ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ÇİNBir 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 TOPBir 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;
SETMö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.
TOPCə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ƏLDROP-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ı;
Birlik2 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 BirlikUNION ilə eyni, lakin cüt dəyərləri ehtiva edir.
UNİKALBu 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İBMö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ərCə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);
HARADAYalnı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.
TINYBLOBMaksimum uzunluğu 255 bayt olan İkili Böyük Obyektlərə (BLOB) sahibdir.
TINYTEXTMaksimum 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.
MEDIUMTEXTMaksimum uzunluğu 16,777,215 işarədən ibarət bir simli tutur.
MEDIUMBLOBMaksimum uzunluğu 16,777,215 bayt olan İkili Böyük Obyektlərə (BLOB) sahibdir.
UzunluqMaksimum uzunluğu 4,294,967,295 simvol olan bir ip tutur.
LONGBLOBMaksimum 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.

CƏDVƏL TIRLE (rəng ENUM ('qırmızı', 'yaşıl', 'mavi', 'sarı', 'bənövşəyi'));
SET (a, b, c, s ...)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..
BOOLSütunu ölçüsü 1. 0 olan TINYINT-ə qurmağın sürətli yolu 1 yalnış hesab olunur, 1-i doğru hesab olunur.
BOOLEANBOOL 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İXYYYY-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
OperatorTəsvir
+Əlavə edin
-Çıxarın
*Çarpın
/Bölün
%Modulo

Bitwise Operator

Bitwise Əməliyyatçılar
OperatorTəsvir
Bitwise və
|Bitwise OR
^Bitwise müstəsna OR

Müqayisə etmə operatorları

Müqayisə etmə operatorları
OperatorTə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
OperatorTə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
ASCIIMüəyyən bir simvol üçün ekvivalent ASCII dəyərini qaytarır.
CHAR_LENGTHBir simvolun xarakter uzunluğunu qaytarır.
CHARACTER_LENGTHCHAR_LENGTH ilə eyni.
CONCATMinimum 2 ilə birlikdə ifadələr əlavə edir.
CONCAT_WSBirlikdə ifadələr əlavə edir, lakin hər bir dəyər arasında bir ayırıcı ilə.
SAĞLAMDə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 OLUNSətirlər siyahısında bir simli mövqeyini qaytarır.
FORMATBir 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).
INSERTMüəyyən bir nöqtədə, müəyyən sayda simvol üçün bir simli digərinə daxil etməyə imkan verir.
İNSTRBir sətir digərinin daxilində göründüyü ilk dəfə mövqeyini qaytarır.
LCASEBir simli kiçik hərfə çevirin.
SOLSoldan başlayaraq, verilmiş simvolların sayını bir simdən çıxarın və başqa kimi qaytarın.
HƏYATSətrin uzunluğunu qaytarır, ancaq baytda.
YERİNƏBir simlin digərində ilk meydana gəlməsini qaytarır,
AzLCASE ilə eyni.
LPADSol yastiqciqlar bir ipi digəri ilə müəyyən bir uzunluğa.
LTRİMVerilən simdən hər hansı aparıcı boşluğu çıxarın.
MIDHər hansı bir mövqedən başlayaraq bir simli digərindən çıxarır.
MƏNZİLBir substring digərində göründüyü ilk dəfə mövqeyini qaytarır.
TƏKRARLAMAQBir 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.
QAZANMAQSətiri tərsinə çevirir.
HÜQUQSağdan başlayaraq, verilmiş simvolların sayını bir simdən çıxarın və başqa kimi qaytarın.
RPADDoğru yastiqciqlar bir ipi digəri ilə müəyyən bir uzunluğa.
RTRİMVerilən sətirdən hər hansı bir boşluq çıxardılır.
KosmosKeçdiyiniz məbləğə bərabər boşluqlarla dolu bir simli qaytarır.
STRCMPFərqlər üçün 2 ipi müqayisə edir
SONRAHər hansı bir mövqedən başlayaraq digər alt hissədən çıxarır.
SONRASUBSTR kimi eyni
SUBSTRING_INDEXKeçirilmiş substring tapılmadan əvvəl bir sətirdən bir sətir geri qaytarır.
TRIMVerilmiş simdən arxa və aparıcı boşluqları silir. LTRIM və RTRIM-i birlikdə işlətməyinizlə eyni.
UCASEBir simli böyük hərfə çevirin.
UPERUCASE ilə eyni.

Rəqəmsal funksiyalar

Rəqəmsal funksiyalar
AdıTəsvir
ABSVerilmiş sayın mütləq dəyərini qaytarır.
ACOSVerilmiş nömrənin qövs kosinusunu qaytarır.
ASINVerilmiş nömrənin qövs sinusunu qaytarır.
ATANVerilən bir və ya 2 ədədin arq tangensini qaytarır.
ATAN2Verilmiş 2 ədədin qövs tangensini qaytarın.
AVGVerilən ifadənin orta dəyərini qaytarır.
CEILVerilmiş ondalık sayından yuxarıya yaxın ən yaxın bütün nömrəni (tam) qaytarır.
CEILINGCEIL ilə eyni.
COSVerilmiş bir nömrənin kosinusunu qaytarır.
UŞAQ ÇARPAYISIVerilmiş bir nömrənin kotangensini qaytarır.
COUNTSELECT sorğusu ilə geri qaytarılan qeydlərin həcmini qaytarır.
DərəcələrBir radian dəyərini dərəcələrə çevirir.
DİVTam ədədləri bölməyə imkan verir.
EXPVerilmiş 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ÜKArqumentlər siyahısında ən yüksək dəyəri qaytarır.
SONArqumentlər siyahısındakı ən kiçik dəyəri qaytarır.
LNVerilmiş sayın təbii logarifmini qaytarır
QeydVerilmiş nömrənin təbii logarifmini və ya verilmiş nömrənin logarifmini verilən bazaya qaytarır
LOG10LOG ilə eyni edir, ancaq 10-a əsaslanmaq üçün.
LOG2LOG ilə eyni edir, ancaq 2-yə əsaslanmaq üçün.
MAXDəyərlər toplusundan ən yüksək dəyəri qaytarır.
MINDəyərlər toplusundan ən aşağı dəyəri qaytarır.
MODVerilmiş sayın qalan hissəsini digər verilmiş nömrəyə bölüşdürür.
PIPI qaytarır.
GücüVerilən nömrənin digər verilmiş nömrənin gücünə qaytarır.
GücGücü eyni.
RADİANLARBir dərəcə dəyərini radianlara çevirir.
RANDTəsadüfi bir sıra qaytarır.
DÜNYAVerilmiş nömrəni verilmiş onluğa bərabər miqdarda yuvarlaqlaşdırın.
İMZALAVerilmiş nömrənin işarəsini qaytarır.
SINVerilmiş nömrənin sinusunu qaytarır.
SQRTVerilmiş sayın kvadrat kökünü qaytarır.
SUMVerilmiş dəyərlər toplusunun birləşdirilmiş dəyərini qaytarır.
TANVerilmiş 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).
CURDATECari tarixi alın.
HAL-HAZIRKİ TARİXCURDATE ilə eyni.
CARİ VAXTCari vaxtı alın.
CURRENT_TIMESTAMPCari tarix və vaxtı əldə edin.
CURTIMECURRENT_TIME ilə eyni.
TARİXTarixi bir datetime ifadəsindən çıxarır.
TƏQDİMATVerilən 2 tarix arasındakı gün sayını qaytarır.
DATE_ADDADDDATE ilə eyni.
TARİX FORMATITarixi verilmiş naxışa görə formatlayır.
DATE_SUBBir 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ÜNVerilmiş tarix üçün günü qaytarır.
DAYNAMEVerilmiş tarix üçün həftə gününün adını qaytarır.
DAYOFWEEKVerilmiş tarix üçün həftənin iş günü indeksini qaytarır.
DAYOFYEARVerilmiş 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ƏNVerilmiş rəqəmli tarix dəyərindən tarixi qaytarın.
SAATVerilən tarixdən saatı geri qaytarın.
SON GÜNVerilən tarix üçün ayın son gününü alın.
YERLİ VAXTCari yerli tarix və vaxtı alır.
LOCALTIMESTAMPLOCALTIME kimi eyni.
MAKEDATEVerilən il və günlərin sayına əsasən bir tarix yaradır və geri qaytarır.
MAKETIMEVerilmiş saat, dəqiqə və ikinci dəyərlərə əsaslanaraq vaxt yaradır və geri qaytarır.
MICROSECONDVerilmiş bir zamanın və ya tarixin mikrosaniyəsini qaytarır.
DƏQİQƏVerilmiş zamanın və ya datetime dəqiqəsini qaytarır.
AYVerilmiş tarixin ayını qaytarır.
MONTHNAMEVerilmiş tarixin ayının adını qaytarır.
İNDİLOCALTIME kimi eyni.
PERIOD_ADDVerilmiş dövrə ayların sayını əlavə edir.
PERIOD_DIFFVerilmiş 2 dövr arasındakı fərqi qaytarır.
DÖRDDƏBİRVerilmiş tarix üçün il rübünü qaytarır.
İKİNCİVerilmiş zamanın və ya datetime ikincisini qaytarır.
SEC_TO_TIMEVerilmiş saniyələrə əsaslanaraq vaxtı qaytarır.
STR_TO_DATEBir tarix yaradır və verilmiş sətir və formata əsasən qaytarır.
SUBDATEDATE_SUB ilə eyni.
SUBTIMEVaxt 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.
SYSDATELOCALTIME kimi eyni.
ZAMANVerilmiş vaxtdan və ya datetime vaxtı qaytarır.
TIME_FORMATVerilmiş vaxtı verilən formatda qaytarır.
TIME_TO_SECZamanı saniyələrə çevirib geri qaytarır.
ZAMANVerilmiş 2 vaxt / datetime ifadələri arasındakı fərqi qaytarır.
ZAMANVerilmiş tarixin və ya tarixin datetime dəyərini qaytarır.
TO_DAYSVerilə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çiVerilmiş tarix üçün həftə nömrəsini qaytarır.
İLVerilən tarixdən ili qaytarır.
YEARWEEKVerilən tarix üçün il və həftə nömrəsini qaytarır.

Misc funksiyaları

Misc funksiyaları
AdıTəsvir
ZİBİL QABIVerilmiş nömrəni ikili olaraq qaytarır.
BİNARİVerilən dəyəri ikili bir simli olaraq qaytarır.
CASTBir növünü digərinə çevirin.
COALEемеDəyərlər siyahısından ilk null olmayan dəyəri qaytarın.
Bağlantı_IDCari əlaqə üçün unikal əlaqə ID-nı qaytarın.
CONVVerilmiş nömrəni bir rəqəmli baza sistemindən digərinə çevirin.
ÇEVİRMƏKVerilmiş dəyəri verilən veri tipinə və ya simvol dəstinə çevirin.
CURRENT_USERServer ilə eyniləşdirmək üçün istifadə olunan istifadəçi və host adını qaytarın.
MƏLUMATMövcud verilənlər bazasının adını alın.
GROUP BYNə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.
IFNULLVerilmiş 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_IDCədvəldə əlavə edilmiş və ya yenilənən son sətir üçün avtomatik artırma nömrəsini qaytarın.
NULLIFVerilə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_USERMövcud istifadəçi və host adlarını qaytarın.
SYSTEM_USERSESSION_USER ilə eyni.
İstifadəçiSESSION_USER ilə eyni.
VERSİYAVerilə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.

MySQL açarları

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 yaratYuxarı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 INDEXBir 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:

MySQL qoşulur

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..

MySQL Misal Cədvəl

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:

MySQL Misal Cədvəl

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.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me