Sql-də yaratma əmri nə edir. SQL əmrləri. İnternetdə SQL-dən istifadə
Strukturlaşdırılmış Sorğu Dili 1970-ci illərin əvvəllərində IBM Korporasiyası tərəfindən hazırlanmışdır. 1986-cı ildə SQL ilk dəfə ANSI təşkilatları tərəfindən standartlaşdırıldı.
SQL verilənlər bazalarını idarə etmək üçün güclü, lakin sadə dildir. Demək olar ki, bütün müasir verilənlər bazaları tərəfindən dəstəklənir. SQL iki əmr alt dəstəsinə bölünür: DDL (Data Definition Language - verilənlərin təyin dili) və DML (Data Manipulation Language - verilənlərin emal dili). DDL əmrləri yeni verilənlər bazaları, cədvəllər və sütunlar yaratmaq üçün, DML əmrləri isə verilənləri oxumaq, yazmaq, çeşidləmək, filtrləmək, silmək üçün istifadə olunur.
Bu məqalə DML əmrlərinə daha yaxından nəzər salacaq, çünki onlar daha tez-tez istifadə olunur.
DDL əmrləriCREATE - yeni cədvəllər, sütunlar və indekslər yaratmaq üçün istifadə olunur.
DROP - sütunları və indeksləri atmaq üçün istifadə olunur.
ALTER - cədvəllərə yeni sütunlar əlavə etmək və xüsusi sütunları dəyişdirmək üçün istifadə olunur.
DML əmrləriSELECT verilənlər bazası cədvəlindən verilənlər toplusunu əldə etmək üçün istifadə edilən ən çox istifadə edilən əmrdir. SELECT əmri aşağıdakı sintaksisə malikdir:
SEÇİN sahə_siyahısı1 FROM masa_adı ]
Kvadrat mötərizənin içindəki operatorlar isteğe bağlıdır və şaquli sətir o deməkdir ki, göstərilən ifadələrdən biri olmalıdır, lakin hər ikisi deyil.
Məsələn, "dostlar" cədvəlinin "ad" və "telefon" sahələrindən məlumat almaq üçün sadə sorğu yaradaq:
SEÇİN ad, telefon FROM dostlar
Cədvəlin bütün sahələrini əldə etmək lazımdırsa, onları sadalamaq lazım deyil, sadəcə ulduz (*) qoyun:
SEÇİN * FROM dostlar
Çıxış siyahısından dublikat daxiletmələri istisna etmək üçün DISTINCT açar sözündən istifadə edin:
DİSTINCT SEÇİN ad FROM dostlar
Əgər tək qeyd almaq lazımdırsa, onda WHERE bəndindən istifadə olunur. Məsələn, "dostlar" cədvəlindən "Vasya Pupkin" telefon nömrəsini almalıyıq:
SEÇİN * FROM dostlar HARADA ad = "Vasya balqabaq"
və ya əksinə, 44-65-01 telefonunun kimə məxsus olduğunu öyrənməliyik:
SEÇİN * FROM dostlar HARADA telefon = "44-65-01"
Bundan əlavə, siz joker simvollardan istifadə edərək axtarış nümunələri yarada bilərsiniz. Bunun üçün LIKE operatorundan istifadə olunur. LIKE operatoru aşağıdakı əvəzetmə operatorlarına malikdir:
* - bir və ya bir neçə simvoldan ibarət sətirə uyğun gəlir;
İstənilən tək xarakterə uyğun gəlir;
Xüsusi dəstdən bir simvola uyğun gəlir;
Məsələn, "Vasya" sözünü ehtiva edən "ad" sahəsindən qeydlər almaq üçün sorğu belə görünəcək:
SEÇİN * FROM dostlar HARADA ad KİMİ "*Vasya*"
ORDER BY bəndi məlumatların qaytarılma sırasını müəyyən etmək üçün istifadə olunur. Bu operator olmadan qaytarılan məlumatların sırasını proqnozlaşdırmaq mümkün deyil. ASC və DESC açar sözləri sizə çeşidləmə istiqamətini təyin etməyə imkan verir. ASC - artan ardıcıllıqla, DESC - azalan sıra ilə çeşidləyir.
Məsələn, əlifba sırası ilə "ad" sahəsindən qeydlərin siyahısını almaq üçün sorğu belə görünür:
SEÇİN * FROM dostlar SİFARİŞ ad
Qeyd edək ki, ASC açar sözü standart olduğu üçün isteğe bağlıdır.
INSERT - bu əmr cədvələ yeni qeyd əlavə etmək üçün istifadə olunur. Aşağıdakı kimi yazılır:
DAXİL EDİN masa_adı DƏYƏRLƏR ( dəyər_siyahısı)
Qeyd edək ki, dəyərlər siyahısındakı dəyər növləri cədvəl sahələrinin dəyər növlərinə uyğun olmalıdır, məsələn:
DAXİL EDİN dostlar DƏYƏRLƏR ( "Anka Pulemyotçu", "32-09-81" )
Bu misalda, müəyyən edilmiş dəyərlərlə dostlar cədvəlinə yeni bir giriş əlavə olunur.
UPDATE - Bu əmr cədvəldəki məlumatları yeniləmək üçün istifadə olunur və ən çox WHERE bəndi ilə birlikdə istifadə olunur. UPDATE əmri aşağıdakı sintaksisə malikdir:
YENİLƏNİB masa_adı SET sahə_adı = məna
WHERE bəndini buraxsanız, cədvəlin bütün müəyyən edilmiş sahələrində məlumatlar yenilənəcək. Məsələn, Vasya Pupkunun telefon nömrəsini dəyişək:
YENİLƏNİB dostlar SET telefon = "55-55-55" HARADA ad = "Vasya balqabaq"
SİL - yəqin ki, artıq başa düşdüyünüz kimi, bu əmr cədvəldən qeydləri silmək üçün istifadə olunur. UPDATE kimi, DELETE əmri adətən WHERE bəndi ilə istifadə olunur, əgər bu ifadə buraxılıbsa, göstərilən cədvəldəki bütün məlumatlar silinəcək. DELETE əmrinin sintaksisi aşağıdakı kimidir:
SİLİN masa_adı
Məsələn, gəlin bu bezdirici Vasya Balqabağını masamızdan çıxaraq :) :
SİLİN dostlar HARADA ad = "Vasya balqabaq"
SonBu yazıda mən əsas SQL ifadələri haqqında danışdım, onlar verilənlər bazası ilə işləmək üçün kifayət qədərdir, qalan operatorlar haqqında, daha ətraflı, sizə başqa vaxt deyəcəyəm.
SQL (ˈɛsˈkjuˈɛl; ingilis dili strukturlaşdırılmış sorğu dili – “strukturlaşdırılmış sorğu dili”) relational verilənlər bazasında verilənləri yaratmaq, dəyişdirmək və idarə etmək üçün istifadə olunan deklarativ proqramlaşdırma dilidir.
Müxtəlif verilənlər bazalarının SQL standartlarına uyğunluq:
SQL (Structured Query Language - strukturlaşdırılmış sorğu dili). SQL, ilk növbədə, saxlanılan məlumatları təsvir etmək, saxlanılan məlumatları əldə etmək və məlumatların dəyişdirilməsi üçün informasiya-məntiqi bir dildir.
SQL proqramlaşdırma dili deyil. SQL mürəkkəbləşdikcə o, daha çox tətbiqi proqramlaşdırma dilinə çevrildi və istifadəçilər vizual sorğu qurucularından istifadə edə bildilər.
SQL hərflərə həssas olmayan bir dildir. SQL-də sətirlər tək dırnaqlar içərisindədir.
SQL dili operatorlar toplusudur. SQL ifadələri aşağıdakılara bölünür:
verilənlərin tərifi ifadələri (Data Definition Language, DDL) - ANSI-də sxem təsviri dili, verilənlər bazasında obyektlər (cədvəllər, indekslər, görünüşlər və s.) yaradan əmrlərdən ibarətdir (CREATE, DROP, ALTER və s.).
verilənlərin manipulyasiyası ifadələri (Data Manipulation Language, DML) istənilən vaxt cədvəllərdə hansı dəyərlərin təqdim olunduğunu müəyyən edən əmrlər toplusudur (INSERT, DELETE, SELECT, UPDATE və s.).
verilənlərə girişin tərifi ifadələri (Data Control Language, DCL) - istifadəçiyə müəyyən hərəkətləri yerinə yetirməyə icazə verib-verməməyi təyin edən vasitələrdən ibarətdir (QİDİL / LƏĞV , LOCK / KİLİDİ AÇMA).
Transaction Control Language (TCL) ifadələri
Təəssüf ki, bu terminlər bütün tətbiqlərdə universal istifadə olunmur. Onlar ANSI ilə vurğulanır və konseptual səviyyədə faydalıdır, lakin əksər SQL proqramları çətin ki, onları ayrı-ayrılıqda aparır, ona görə də onlar mahiyyətcə SQL əmrlərinin funksional kateqoriyalarına çevrilirlər.
Bölməni SEÇİN QOŞULUNSadə JOIN (=kesişmə JOIN =INNER JOIN) - hər iki cədvəlin yalnız ümumi qeydlərini göstərmək deməkdir. Qeydlərin necə paylaşılmış hesab edildiyi birləşmə ifadəsindəki sahələrlə müəyyən edilir. Məsələn, aşağıdakı giriş: FROM t1 JOIN t2 ON t1. id = t2. id
o deməkdir ki, hər iki cədvəldə mövcud olan eyni id ilə qeydlər göstəriləcək.
LEFT JOIN (və ya LEFT OUTER JOIN) sağ cədvəldə müvafiq qeydlərin olub-olmamasından asılı olmayaraq, sol cədvəldəki bütün qeydləri (qoşulma ifadəsində birinci olan) göstərmək deməkdir. Sağ cədvəldə heç bir qeyd yoxdursa, NULL təyin edilir.
RIGHT JOIN (və ya RIGHT OUTER JOIN) LEFT JOIN-in əksidir - o, sağ (ikinci) cədvəldəki bütün qeydləri və yalnız sol (birinci) cədvəldən uyğun gələnləri göstərir.
JOIN assosiasiyalarının digər növləri: MINUS - çıxma; FULL JOIN - tam birləşmə; CROSS JOIN - "Hər biri ilə" və ya Kartezyen məhsul əməliyyatı.
INSERT IGNORE Əgər IGNORE açar sözü INSERT ifadəsində çoxlu qiymətə malik sətirlərlə göstərilibsə, o zaman həmin cədvəldə təkrarlanan PRIMARY və ya UNİKAL açarları olan bütün sətirlər nəzərə alınmayacaq və daxil edilməyəcək. IGNORE təyin etməsəniz, bu daxiletmə əməliyyatı mövcud açarın dublikat dəyərinə malik cərgə aşkar edildikdə dayanır.
REPLACE əmri INSERT-dən yalnız onunla fərqlənir ki, əgər cədvəldə indekslənmiş sahədə (unikal indeks) yeni qeydlə eyni qiymətə malik qeyd varsa, o zaman köhnə qeyd yenisi əlavə olunmazdan əvvəl silinir.
YENİLƏNİB< tablename>SET ( | ) .,. .< COLUMN name> = < VALUE expresslon>[ HARADA< predlcate>| CARİ HARADA< cursor name>(* yalnız yuva üçün* ) ] ; YENİLƏNİB həmyaşıdları SET zonası = "voip" ; # həmyaşıdlar cədvəlinin zona sütunundakı bütün sətirləri yeniləyin YENİLƏNİB stat SET whp= "13x13x13" HARADA id = 1 ; YENİLƏNİB ölkələr SET nm_ukr= ( SELECT del_countries. ukrayna FROM del_countries WHERE ölkələr. nm_en= del_countries. ingilis ) ;WordPress istifadəsi, quraşdırma: wp_posts cədvəlində sətirdəki bütün hadisələri silin
YENİLƏNİB wp_posts SET post_content = DƏYİŞTİR (post_content, "" , "" );SİLİN
MƏLUMAT BAZASI YARADIN | Yeni verilənlər bazası yaradılması |
İNDEKSİ YARATIN | Cədvəl sütununda yeni indeks yaradın |
ARDILIQ YARATIN | Mövcud verilənlər bazasında yeni ardıcıllığın yaradılması |
CƏDVƏL YARADIN | Mövcud verilənlər bazasında yeni cədvəlin yaradılması |
TRIGGER YARADIN | Yeni tətik tərifi yaradın |
GÖRÜNÜŞ YARADIN | Mövcud cədvəl üçün yeni görünüş yaradın |
SEÇİN | Cədvəldən qeydlərin seçilməsi |
INSERT | Cədvələ bir və ya daha çox yeni qeyd daxil edin |
YENİLƏNİB | Mövcud qeydlərdəki məlumatların dəyişdirilməsi |
SİLİN | Cədvəldən Mövcud Qeydlərin Silinməsi |
MƏLUMAT BAZASINI DÜŞÜN | Mövcud verilənlər bazasını məhv etmək |
DÜŞÜŞ İNDEKSİ | Mövcud cədvəldən sütun indeksinin silinməsi |
DÜŞÜLMƏ TƏTBİQİ | Mövcud Ardıcıllıq Generatorunun məhv edilməsi |
CƏDVƏL VERİN | Mövcud Cədvəlin məhv edilməsi |
TRIGGERİ DÜŞÜR | Mövcud Tətik Tərifinin məhv edilməsi |
GÖRÜNÜŞ | Mövcud Görünüşün məhv edilməsi |
İSTİFADƏÇİ YARADIN | Sistemdə yeni PostgreSQL istifadəçi hesabının yaradılması |
İSTİFADƏÇİYİ DEĞİŞTİR | Mövcud PostgreSQL İstifadəçi Hesabının dəyişdirilməsi |
İSTİFADƏÇİYİ AYIRIN | Mövcud PostgreSQL İstifadəçi Hesabının Silinməsi |
Qrant | Verilənlər bazası obyektinə giriş hüquqlarının verilməsi |
LƏĞV EDİN | Verilənlər bazası obyektinə girişin ləğvi |
FUNKSİYA YARAT | Verilənlər bazasında yeni SQL funksiyasının yaradılması |
DİL YARADIN | Verilənlər bazasında yeni dil tərifi yaradın |
OPERATOR YARADIN | Verilənlər bazasında yeni SQL ifadəsinin yaradılması |
NÖVÜ YARADIN | Verilənlər bazasında yeni SQL məlumat növünün yaradılması |