Asosiy sql buyruqlari. Ma'lumotlarga kirish mexanizmi. Strukturaviy so'rovlar tili SQL. SQL tarixi va standartlari. Oracle serveri tomonidan SQL buyruqlarini qayta ishlash. O'chirish so'rovlari
Relyatsion ma'lumotlar bazalari va jadvallar haqidagi har qanday kontseptual ma'lumotlar faqat ma'lumotlar bilan qanday ishlashni bilsangiz foydali bo'ladi. SQL tili ma'lumotlar bazasiga ma'lumotlarni qo'shish, o'zgartirish va o'chirish uchun tuzilgan buyruqlardan iborat. Ushbu buyruqlar PostgreSQL serveri bilan ishlash uchun asos bo'lib xizmat qiladi.
Ushbu bo'lim SQL buyruqlarining "anatomiyasi" haqida. U buyruqlarning strukturaviy tarkibiy qismlarini o'rganadi, har bir komponentning funktsiyalarini va ularning o'zaro munosabatlarini tavsiflaydi. Standart PostgreSQL buyruq qatori mijozi, psql, berilgan misollardagi buyruqlar natijalarini chop etadi.
Ko'pgina SQL buyruqlar misollari Booktown ma'lumotlar bazasiga xosdir. Barcha psql chiqishi booktown=# shakli bilan prefikslangan.
Ba'zi misollar testdb test ma'lumotlar bazasidan foydalanadi. Odatiy bo'lib, psql so'rovi faqat ma'lumotlar bazasi nomini va =# belgilarini ko'rsatadi, bu tizim yangi buyruq berishga tayyorligini bildiradi (garchi SQL kiritish holati kuzatilganda = belgisi dinamik ravishda o'zgarishini ko'rasiz). Kitob psql mijoz chiqishi bilan qulay bo'lishingizga yordam berish uchun SQL kiritish va chiqish bilan birga ushbu so'rovni taqdim etadi.
Psql mijozi 4-bobda batafsil tavsiflangan. Bu yerda faqat SQL buyruqlari misollarining uslubini aniqlashtirish uchun aytilgan.
Eslatma
Booktown ma'lumotlar bazasi sxemasi (misol yozuvlari bilan birga) CDdagi booktown.sql faylida joylashgan. Ushbu ma'lumotlar bazasini o'rnatish uchun buyruq satriga psql - U postgres shablonini kiriting. - f /mnt/cdrom/booktown.sql, bu erda /mnt/cdrom - o'rnatilgan CDga yo'l va postgres - PostgreSQL super foydalanuvchi nomi..
SQL buyruqlari har doim harakat (fe'l) bilan boshlanadi - bajarilayotgan operatsiyani tavsiflovchi so'z yoki so'zlar guruhi. Bundan tashqari, SQL buyrug'i odatda uning ma'nosini aniqlaydigan bir yoki bir nechta bo'limlarni o'z ichiga oladi. Jadvalda 3.2 SQL ning asosiy harakatlarini sanab o'tadi.
3.2-jadval. Asosiy PostgreSQL harakatlari.
MA'LUMOTLAR BAZASI YARATING | Yangi ma'lumotlar bazasini yaratish |
INDEKS YARATING | Jadval ustunida yangi indeks yaratish |
TARTIBLIK YARATING | Mavjud ma'lumotlar bazasida yangi ketma-ketlikni yaratish |
JADVAL YARATISH | Mavjud ma'lumotlar bazasida yangi jadval yaratish |
TRIGGER YARATISH | Yangi tetik ta'rifini yarating |
KOʻRISH YARATISH | Mavjud jadval uchun yangi ko'rinish yarating |
TANLASH | Jadvaldan yozuvlarni tanlash |
KIRITMOQ | Jadvalga bir yoki bir nechta yangi yozuvlarni kiritish |
YANGILANISH | Mavjud yozuvlardagi ma'lumotlarni o'zgartirish |
OʻCHIRISH | Jadvaldan mavjud yozuvlarni olib tashlash |
TO'CHIRISH MA'LUMOTLAR BAZASI | Mavjud ma'lumotlar bazasini yo'q qilish |
DROP INDEX | Mavjud jadvaldan ustun indeksini olib tashlash |
TO'CHIRISH TARTIBI | Mavjud ketma-ketlik generatorini yo'q qilish |
JADVALNI QILISH | Mavjud jadvalni yo'q qilish |
TRIGGERNI TO'CHIRISH | Mavjud tetik ta'rifini yo'q qilish |
KO'RISH | Mavjud ko'rinishni yo'q qilish |
FOYDALANUVCHI YARATING | Tizimda yangi PostgreSQL foydalanuvchi hisobini yaratish |
FOYDALANUVCHI ALTER | Mavjud PostgreSQL foydalanuvchi hisobini o'zgartirish |
FOYDALANUVCHI TO'CHIRISH | Mavjud PostgreSQL foydalanuvchi hisobini o'chirish |
Grant | Ma'lumotlar bazasi ob'ektiga kirish huquqini berish |
BEKOR QILISh | Ma'lumotlar bazasi ob'ektiga kirish huquqlarini olib tashlash |
FUNKSIYA YARATISH | Ma'lumotlar bazasida yangi SQL funksiyasini yaratish |
TILI YARATING | Ma'lumotlar bazasida yangi til ta'rifini yaratish |
OPERATOR YARATISH | Ma'lumotlar bazasida yangi SQL bayonotini yaratish |
TUR YARATING | Ma'lumotlar bazasida yangi SQL ma'lumotlar turini yaratish |
Strukturalangan so'rovlar tili 1970-yillarning boshida IBM tomonidan ishlab chiqilgan. 1986 yilda SQL birinchi marta ANSI tashkilotlari tomonidan standartlashtirildi.
SQL ma'lumotlar bazasini boshqarish uchun kuchli va ayni paytda oddiy tildir. Bu deyarli barcha zamonaviy ma'lumotlar bazalari tomonidan qo'llab-quvvatlanadi. SQL ikkita buyruqlar to'plamiga bo'linadi: DDL (ma'lumotlarni aniqlash tili) va DML (ma'lumotlarni manipulyatsiya qilish tili). DDL buyruqlari yangi ma'lumotlar bazalari, jadvallar va ustunlar yaratish uchun, DML buyruqlari esa ma'lumotlarni o'qish, yozish, saralash, filtrlash, o'chirish uchun ishlatiladi.
Ushbu maqolada DML buyruqlari batafsil ko'rib chiqiladi, chunki ular tez-tez ishlatiladi.
DDL buyruqlariCREATE - yangi jadvallar, ustunlar va indekslar yaratish uchun ishlatiladi.
DROP - ustunlar va indekslarni olib tashlash uchun ishlatiladi.
ALTER - jadvallarga yangi ustunlar qo'shish va ma'lum ustunlarni o'zgartirish uchun ishlatiladi.
DML buyruqlariSELECT - eng ko'p ishlatiladigan buyruq va ma'lumotlar bazasi jadvalidan ma'lumotlar to'plamini olish uchun ishlatiladi. SELECT buyrug'i quyidagi sintaksisga ega:
TANLASH maydon_roʻyxati1 FROM jadval_nomi ]
Kvadrat qavs ichidagi operatorlar ixtiyoriy va vertikal satr belgilangan iboralardan biri mavjud bo'lishi kerakligini anglatadi, lekin ikkalasi ham emas.
Masalan, "do'stlar" jadvalining "ism" va "telefon" maydonlaridan ma'lumotlarni olish uchun oddiy so'rov yarataylik:
TANLASH ism, telefon FROM do'stlar
Agar siz jadvalning barcha maydonlarini olishingiz kerak bo'lsa, ularni ro'yxatga kiritish shart emas, shunchaki yulduzcha (*) qo'ying:
TANLASH * FROM do'stlar
Ko'rsatilgan ro'yxatdagi takroriy yozuvlarni chiqarib tashlash uchun DISTINCT kalit so'zidan foydalaning:
DISTINCT TANLASH nomi FROM do'stlar
Agar siz alohida yozuvni olishingiz kerak bo'lsa, WHERE bandi ishlatiladi. Masalan, biz "do'stlar" jadvalidan "Vasya Pupkin" telefon raqamini olishimiz kerak:
TANLASH * FROM do'stlar QAYERDA nomi = "Vasya qovoq"
yoki aksincha, 44-65-01 telefoni kimga tegishli ekanligini aniqlashimiz kerak:
TANLASH * FROM do'stlar QAYERDA telefon = "44-65-01"
Bundan tashqari, siz joker belgilardan foydalanishingiz mumkin, shu bilan qidiruv naqshlarini yaratishingiz mumkin. Buning uchun LIKE operatoridan foydalaniladi. LIKE operatorida quyidagi almashtirish operatorlari mavjud:
* - bir yoki bir nechta belgilardan iborat qatorga mos keladi;
Har qanday belgiga mos keladi;
Muayyan to'plamdagi bitta belgiga mos keladi;
Masalan, "Vasya" so'zini o'z ichiga olgan "ism" maydonidan yozuvlarni olish uchun so'rov quyidagicha ko'rinadi:
dan * dan tanlang do'stlar QAYERDA nomi LIKE "*Vasya*"
ORDER BY bandi ma'lumotlarni qaytarish tartibini aniqlash uchun ishlatiladi. Ushbu operatorsiz qaytarilgan ma'lumotlarning tartibini oldindan aytib bo'lmaydi. ASC va DESC kalit so'zlari saralash yo'nalishini aniqlash imkonini beradi. ASC o'sish tartibida, DESC esa kamayish tartibida tartiblaydi.
Misol uchun, alifbo tartibida "nom" maydonidan yozuvlar ro'yxatini olish so'rovi quyidagicha ko'rinadi:
dan * dan tanlang do'stlar Buyurtma berish nomi
E'tibor bering, ASC kalit so'zi shart emas, chunki u sukut bo'yicha.
INSERT - bu buyruq jadvalga yangi yozuv qo'shish uchun ishlatiladi. U quyidagicha yozilgan:
INSERT INTO jadval_nomi QIYMATLAR ( qiymat_roʻyxati)
E'tibor bering, qiymatlar ro'yxatidagi qiymat turlari jadval maydonlarining qiymat turlariga mos kelishi kerak, masalan:
INSERT INTO do'stlar QIYMATLAR ( "Anka pulemyotchi", "32-09-81" )
Ushbu misol ko'rsatilgan qiymatlar bilan do'stlar jadvaliga yangi yozuv qo'shadi.
UPDATE - Bu buyruq jadvaldagi ma'lumotlarni yangilash uchun ishlatiladi va ko'pincha WHERE bandi bilan birgalikda ishlatiladi. UPDATE buyrug'i quyidagi sintaksisga ega:
YANGILANISH jadval_nomi SET maydon_nomi = ma'nosi
Agar siz WHERE bandini o'tkazib yuborsangiz, jadvaldagi barcha belgilangan maydonlardagi ma'lumotlar yangilanadi. Masalan, Vasya Pupkunning telefon raqamini o'zgartiramiz:
YANGILANISH do'stlar SET telefon = "55-55-55" QAYERDA nomi = "Vasya qovoq"
DELETE - siz allaqachon tushunganingizdek, bu buyruq jadvaldagi yozuvlarni o'chirish uchun ishlatiladi. UPDATE kabi, DELETE buyrug'i odatda WHERE bandi bilan ishlatiladi; agar bu band o'tkazib yuborilsa, belgilangan jadvaldagi barcha ma'lumotlar o'chiriladi. DELETE buyrug'i sintaksisi quyidagicha:
OʻCHIRISH jadval_nomi
Masalan, keling, bu zerikarli Vasya Qovoqni stolimizdan olib tashlaymiz :) :
OʻCHIRISH do'stlar QAYERDA nomi = "Vasya qovoq"
YakunUshbu maqolada men SQL-ning asosiy operatorlari haqida gapirdim, ular ma'lumotlar bazalari bilan ishlash uchun etarli; Qolgan operatorlar haqida boshqa safar batafsilroq gaplashaman.
SQL yoki Strukturaviy so'rovlar tili - relyatsion ma'lumotlar bazasi tizimidagi (RDBMS) ma'lumotlarni boshqarish uchun ishlatiladigan til. Ushbu maqolada har bir dasturchi bilishi kerak bo'lgan tez-tez ishlatiladigan SQL buyruqlari ko'rib chiqiladi. Ushbu material ish intervyusidan oldin SQL bo'yicha bilimlarini oshirishni istaganlar uchun juda mos keladi. Buni amalga oshirish uchun maqolada keltirilgan misollarni ko'rib chiqing va ma'lumotlar bazalarini juftlikda o'rganganingizni unutmang.
E'tibor bering, ba'zi ma'lumotlar bazasi tizimlari har bir bayonot oxirida nuqta-vergulni talab qiladi. Nuqtali vergul SQL-dagi har bir bayonotning oxiri uchun standart ko'rsatkichdir. Misollar MySQL-dan foydalanadi, shuning uchun nuqta-vergul qo'yilishi kerak.
Misollar uchun ma'lumotlar bazasini o'rnatishJamoalar qanday ishlashini ko'rsatish uchun ma'lumotlar bazasini yarating. Ishlash uchun ikkita faylni yuklab olishingiz kerak bo'ladi: DLL.sql va InsertStatements.sql. Shundan so'ng, terminalni oching va MySQL konsoliga quyidagi buyruq yordamida kiring (maqolada MySQL tizimda allaqachon o'rnatilgan deb taxmin qilinadi):
Mysql -u root -p
Keyin parolingizni kiriting.
Quyidagi buyruqni bajaring. Keling, ma'lumotlar bazasini "universitet" deb ataymiz:
MA'LUMOTLAR BAZASINI YARATING universitet; USE universiteti; MANBA; SOURCE Ma'lumotlar bazalari bilan ishlash buyruqlari1. Mavjud ma'lumotlar bazalarini ko'rish MA'LUMOT BAZALARINI KO'RSATISH; 2. Yangi ma'lumotlar bazasini yaratish CREATE DATABASE; 3. USE dan foydalanish uchun ma'lumotlar bazasini tanlash; 4. .sql faylidan SQL buyruqlarini import qilish SOURCE ; 5. Ma'lumotlar bazasini o'chirish DROP DATABASE ; Jadvallar bilan ishlash 6. SHOW TABLES ma'lumotlar bazasida mavjud jadvallarni ko'rish;
7. Yangi jadval yaratish CREATE TABLE ( , , PRIMARY KEY (), FOREIGN KEY () REFERANSLAR ()); CREATE TABLE dan foydalanishda yaxlitlik cheklovlariJadvaldagi ma'lum ustunlar uchun cheklovlar yaratishingiz kerak bo'lishi mumkin. Jadvalni yaratishda siz quyidagi cheklovlarni o'rnatishingiz mumkin:
- jadval katakchasi NULL qiymatiga ega bo'lishi mumkin emas;
- birlamchi kalit - PRIMARY KEY (col_name1, col_name2, ...) ;
- chet el kaliti - FOREIGN KEY (col_namex1, …, col_namexn) REFERANSLAR jadval_nomi(col_namex1, …, col_namexn) .
Siz bir nechta asosiy kalitlarni belgilashingiz mumkin. Bunday holda siz kompozit asosiy kalitni olasiz.
Misol"Instruktor" jadvalini yarating:
CREATE TABLE instruktor (ID CHAR(5), nomi VARCHAR(20) NOT NULL, dept_name VARCHAR(20), maosh NUMERIC(8,2), PRIMARY KEY (ID), FOREIGN KEY (dept_name) REFERENCES bo'limi(dept_name));
8. Jadval ma'lumotlariJadval ustunlari haqidagi turli ma'lumotlarni (qiymat turi, kalit yoki yo'q) quyidagi buyruq yordamida ko'rishingiz mumkin:
TA'SFRI BERING;
9. Jadvalga ma'lumotlarni qo'shish INSERT INTO (, , , …) VALUES (, , , …);Jadvaldagi har bir ustunga ma'lumot qo'shsangiz, ustun nomlarini ko'rsatishingiz shart emas.
QIYMATLARGA QO'SHISH (, , , ...);
10. Jadval ma'lumotlarini yangilash UPDATE SET = , = , ... QAYERDA ; 11. Jadvaldagi barcha ma'lumotlarni o'chirish DELETE FROM ; 12. Jadvalni olib tashlash DROP TABLE ; So'rovlar yaratish buyruqlari13. TANLASHSELECT ma'lum bir jadvaldan ma'lumotlarni olish uchun ishlatiladi:
SELECT , , ... FROM ;
Quyidagi buyruq jadvaldagi barcha ma'lumotlarni ko'rsatishi mumkin:
SELECT * FROM ;
14. DISTINCT ni tanlangJadval ustunlari ikki nusxadagi ma'lumotlarni o'z ichiga olishi mumkin. Faqat takrorlanmaydigan ma'lumotlarni olish uchun SELECT DISTINCT-dan foydalaning.
SELECT DISTINCT , , … FROM ;
15. QAYERDASoʻrovda shartlarni belgilash uchun SELECTda WHERE kalit soʻzidan foydalanishingiz mumkin:
TANLASH, , ... QAYERDAN;
So'rovda quyidagi shartlar ko'rsatilishi mumkin:
- matnni taqqoslash;
- raqamli qiymatlarni solishtirish;
- mantiqiy operatorlar AND (va), OR (yoki) va EMAS (inkor).
Quyidagi buyruqlarni sinab ko'ring. QAYERDA ko'rsatilgan shartlarga e'tibor bering:
SELECT * FROM kurs WHERE dept_name=’Komp. Sci.'; * QAYoDA kursdan kredit>3 ni tanlang; TANLASH * Kursdan WHERE dept_name="Comp. Sci." VA kreditlari>3;
16. GRUP BYGROUP BY operatori ko'pincha chiqish qiymatlarini guruhlash uchun COUNT, MAX, MIN, SUM va AVG kabi jamlash funktsiyalari bilan ishlatiladi.
TANLASH, , … GROUP BY dan;
MisolKeling, har bir fakultet uchun kurslar sonini ko'rsatamiz:
COUNT (kurs_identifikatori), bo'lim_nomini kurs GROUP BY bo'lim_nomi bo'yicha TANGLASH;
17. EGAHAVING kalit so'zi SQL ga qo'shildi, chunki WHERE ni yig'ish funktsiyalari bilan ishlatib bo'lmaydi.
, , ... GURUHDAN TANLASH ORQALI
MisolKeling, bir nechta kursga ega bo'lgan fakultetlar ro'yxatini ko'rsatamiz:
COUNT (kurs_identifikatori), boʻlim_nomi SOYGAN (kurs_identifikatori) boʻlgan kurs GURUHI BOʻYICHA boʻlim_nomini tanlang>1;
18. Buyurtma berishORDER BY so'rov natijalarini kamayish yoki o'sish tartibida saralash uchun ishlatiladi. ORDER BY, agar ASC yoki DESC belgilanmagan bo'lsa, o'sish tartibida tartiblanadi.
TANLASH , , … TARTIBI BO’YICHA , , … ASC|DESC;
MisolKurslar roʻyxatini kreditlarning oʻsish va kamayish tartibida koʻrsatamiz:
TANLASH * Kurs TARTIBI BO'YICHA kreditlar; TANLASH * Kurs TARTIBI BO'YICHA kreditlar DESC;
19. OrasidaBETWEEN ma'lum diapazondan ma'lumotlar qiymatlarini tanlash uchun ishlatiladi. Raqamli va matn qiymatlari, shuningdek sanalardan foydalanish mumkin.
TANLASH , , … QERDAN VA O'RTASIDA ;
MisolKeling, maoshi 50 000 dan ortiq, lekin 100 000 dan kam bo'lgan o'qituvchilar ro'yxatini ko'rsatamiz:
50000 dan 100000 gacha bo'lgan ish haqi instruktordan * TANLASH;
20. LAYKLIKE operatori WHERE da shunga o'xshash qiymat uchun qidiruv sxemasini belgilash uchun ishlatiladi.
LIKE-da ikkita bepul operator qo'llaniladi:
- % (hech biri, bir yoki bir nechta belgilar);
- _ (bitta belgi).
Nomlarida "to" bo'lgan kurslar ro'yxati va nomlari "CS-" bilan boshlanadigan kurslar ro'yxatini ko'rsatamiz:
* Kursdan ‘%to%’ sarlavhasini TANLASH; * Kursdan QAYERDA kurs_id "CS-___" LIKE NI TANLASH;
21. ININ dan foydalanib, WHERE bandi uchun bir nechta qiymatlarni belgilashingiz mumkin:
TANLASH , , … FROM WHERE IN (, , …);
MisolKeling, Comp mutaxassisligi bo'yicha talabalar ro'yxatini ko'rsatamiz. Sci., Fizika va Elek. Ing.:
SELECT * FROM student WHERE dept_name IN ('Comp. Sci.', 'Fisics', 'Elect. Eng.');
22. QO'SHILINGJOIN ikki yoki undan ortiq jadvallarni umumiy atributlardan foydalangan holda ulash uchun ishlatiladi. Quyidagi rasmda SQL-ga qo'shilishning turli usullari ko'rsatilgan. Chap tashqi birlashma va o'ng tashqi birlashma o'rtasidagi farqga e'tibor bering:
TANLASH , , … JOIN ON = ;
1-misolBiz barcha kurslar ro'yxatini va fakultetlar haqida tegishli ma'lumotlarni ko'rsatamiz:
TANLASH * Kursdan JOIN bo'limi ON course.dept_name=department.dept_name;
2-misolBiz barcha kerakli kurslar ro'yxatini va ular haqida ma'lumotlarni ko'rsatamiz:
prereq.course_id, sarlavha, bo'lim_nomi, kreditlar, prereq_idni prereq FROM CHAP TAShQI QO'SHILMA kursini ON prereq.course_id=course.course_id;
3-misolBiz barcha kurslar ro'yxatini, ular talab qilinadimi yoki yo'qmi, ko'rsatamiz:
Kurs.kurs_identifikatori, sarlavha, bo'lim_nomi, kreditlar, prereq_idni prereq FROM O'RGHT TAShQI JOIN kursidan TANILASH prereq.course_id=course.course_id;
23. Ko'rishView - ifodani bajarish natijasida yaratilgan virtual SQL jadvali. U qatorlar va ustunlarni o'z ichiga oladi va oddiy SQL jadvaliga juda o'xshaydi. Ko'rish har doim ma'lumotlar bazasidan eng so'nggi ma'lumotlarni ko'rsatadi.
CREATE VIEW AS SELECT , , ... FROM WHERE yaratish; DROP VIEW ni olib tashlash; MisolKeling, 3 kreditli kurslardan iborat ko'rinish yarataylik:
24. Agregat funktsiyalariUshbu funktsiyalar ko'rib chiqilayotgan ma'lumotlar bilan bog'liq umumiy natijani olish uchun ishlatiladi. Quyidagi agregat funktsiyalar keng tarqalgan:
- COUNT (col_name) - qatorlar sonini qaytaradi;
- SUM (col_name) - ushbu ustundagi qiymatlar yig'indisini qaytaradi;
- AVG (col_name) - berilgan ustunning o'rtacha qiymatini qaytaradi;
- MIN (col_name) - berilgan ustunning eng kichik qiymatini qaytaradi;
- MAX (col_name) - berilgan ustunning eng katta qiymatini qaytaradi.
Ichki quyi so'rovlar - bu SQL so'rovlari bo'lib, ular boshqa so'rovga kiritilgan SELECT , FROM va WHERE bandlarini o'z ichiga oladi.
MisolKeling, 2009 yil kuzida va 2010 yil bahorida o'qitiladigan kurslarni topamiz:
SELECT DISTINCT course_id FROM bo'limi WHERE semestr = 'Kuz' AND year= 2009 AND course_id IN (SELECT course_id FROM bo'limi WHERE semestr = 'Bahor' AND year= 2010);
Kirill Pozdeev, tarjimon
Yandex xizmatlarni shaxsiylashtirish uchun ma'lumotlaringiz va mashina o'rganishingizdan qanday foydalanadi -.
SQL (ˈɛsˈkjuˈɛl; inglizcha strukturali so‘rovlar tili – “strukturalangan so‘rovlar tili”) relyatsion ma’lumotlar bazasidagi ma’lumotlarni yaratish, o‘zgartirish va boshqarish uchun ishlatiladigan deklarativ dasturlash tilidir.
Turli ma'lumotlar bazalari uchun SQL standartlariga muvofiqligi:
SQL (Structured Query Language - tuzilgan so'rovlar tili). SQL, birinchi navbatda, saqlangan ma'lumotlarni tavsiflash, saqlangan ma'lumotlarni olish va ma'lumotlarni o'zgartirish uchun mo'ljallangan axborot mantiqiy tilidir.
SQL dasturlash tili emas. SQL murakkablashgani sari u ko'proq amaliy dasturlash tiliga aylandi va foydalanuvchilar endi vizual so'rovlar quruvchilardan foydalanishlari mumkin.
SQL katta-kichik harflarni sezmaydigan tildir. SQL-dagi satrlar bitta tirnoq ichiga olingan.
SQL tili - bu bayonotlar to'plami. SQL bayonotlari quyidagilarga bo'linadi:
Data Definition Language (DDL) - ANSIda sxemalarni tavsiflash tili, ma'lumotlar bazasida ob'ektlarni (jadvallar, indekslar, ko'rinishlar va boshqalar) yaratuvchi buyruqlardan iborat (CREATE, DROP, ALTER va boshqalar).
Ma'lumotlarni manipulyatsiya qilish operatorlari (Data Manipulation Language, DML) istalgan vaqtda jadvallarda qanday qiymatlar taqdim etilishini aniqlaydigan buyruqlar to'plamidir (INSERT, DELETE, SELECT, UPDATE va boshqalar).
ma'lumotlarga kirishni aniqlash bayonotlari (Data Control Language, DCL) - foydalanuvchiga ma'lum harakatlarni amalga oshirishga ruxsat berish yoki bermaslikni aniqlaydigan vositalardan iborat (TRANSFOR/REVOKE, LOCK/UNLOCK).
Transaction Control Language (TCL) operatorlari
Afsuski, bu atamalar barcha ilovalarda universal ishlatilmaydi. Ular ANSI tomonidan ta'kidlangan va kontseptual darajada foydalidir, lekin ko'pchilik SQL dasturlari ularni alohida ko'rib chiqish uchun kam ish qiladi, shuning uchun ular SQL buyruqlarining funktsional toifalariga aylanadi.
QO'SHILISh bo'limini tanlangOddiy JOIN (=kesishma JOIN =INNER JOIN) - faqat ikkala jadvalning umumiy yozuvlarini ko'rsatishni anglatadi. Yozuvlar qanday taqsimlangan deb hisoblanishi birlashma ifodasidagi maydonlar bilan belgilanadi. Masalan, quyidagi yozuv: FROM t1 JOIN t2 ON t1. id = t2. id
Bu ikkala jadvalda mavjud bo'lgan bir xil identifikatorli yozuvlar ko'rsatilishini anglatadi.
LEFT JOIN (yoki LEFT OUTER JOIN) chap jadvaldagi barcha yozuvlarni (birlashma ifodasida birinchi keladigan) o‘ng jadvalda mos yozuvlar mavjudligidan qat’iy nazar ko‘rsatishni bildiradi. Agar o'ng jadvalda hech qanday yozuv bo'lmasa, bo'sh qiymat NULL o'rnatiladi.
RIGHT JOIN (yoki RIGHT OUTER JOIN) LEFT JOIN dan farqli ravishda ishlaydi - u o'ng (ikkinchi) jadvaldagi barcha yozuvlarni va faqat chap (birinchi) jadvalga mos keladiganlarni ko'rsatadi.
JOIN birikmalarining boshqa turlari: MINUS - ayirish; FULL JOIN – to‘liq qo‘shilish; CROSS JOIN - "Har kim hamma bilan" yoki Dekart mahsuloti operatsiyasi.
INSERT IGNORE Agar siz INSERT buyrug'ida bir nechta qiymatlarga ega bo'lgan qatorlar bilan IGNORE kalit so'zini belgilasangiz, ushbu jadvaldagi ASOSIY yoki UNIQUE kalitlari takrorlangan har qanday qatorlar e'tiborga olinmaydi va kiritilmaydi. Agar siz IGNORE ni belgilamasangiz, mavjud kalit uchun takroriy qiymatga ega bo'lgan qatorga duch kelganda, bu kiritish operatsiyasi to'xtatiladi.
REPLACE buyrug'i INSERT buyrug'idan faqat shunisi bilan farq qiladiki, agar jadvalda indekslangan maydonda (noyob indeks) yangi yozuv bilan bir xil qiymatga ega yozuv mavjud bo'lsa, u holda eski yozuv yangisini qo'shishdan oldin o'chiriladi.
YANGILANISH< tablename>SET ( | ) .,. .< COLUMN name> = < VALUE expresslon>[QAYERDA< predlcate>| HOZIRGI QAYERDA< cursor name>(*faqat ilova uchun*) ] ; YANGILANISh tengdoshlari SET zonasi= "voip" ; # tengdoshlar jadvalining zona ustunidagi barcha satrlarni yangilash UPDATE stat SET whp= "13x13x13" WHERE id = 1 ; YANGILANISh mamlakatlari SET nm_ukr= ( SELECT del_countries. ukrain FROM del_countries WHERE mamlakatlar. nm_en= del_countries. english );WordPress-dan foydalanish, sozlash: wp_posts jadvalida qatorning barcha holatlarini o'chirib tashlang
YANGILANISH wp_posts SET post_content = ALGILASH (post_content, "" , "" );OʻCHIRISH