KompyuterlarDasturlash

Asosiy SQL so'zlar

SQL standarti 1992 yilda qabul qilingan va hali ham qo'llanilmoqda. U juda ko'p ma'lumotlar bazasini boshqarish tizimining asosiy belgisi bo'ldi . Albatta, ayrim ishlab chiqaruvchilar standartning talqini ishlatadilar. Biroq, har qanday tizimda SQL komponentlari mavjud.

Kirish

Ma'lumotlar bazalarida SQL bayonotlari yordamida qadamlar, jadvallar va ma'lumotlar kelgusida tahlil qilish va namoyish qilish uchun boshqariladi va olinadi. Ular ma'lumotlar bilan nima qilishni tushunadigan tizim kalit so'zlar to'plamidir.

SQL jadvallarining bir nechta toifalarini aniqlang:

  • Ma'lumotlar bazasi ob'ektlarining ta'rifi;
  • Qiymat manipulyatsiyasi;
  • Himoya qilish va boshqarish;
  • Sessiya sozlamalari;
  • Asosiy ma'lumotlar;
  • Statik SQL;
  • Dynamic SQL.

Ma'lumotlarni manipulyatsiya qilish uchun SQL statements

Ushbu turkumda kalit so'zlar mavjud bo'lib, siz ma'lumotlar bazasida qiymatlarni joylashtirishni boshqarishingiz mumkin.

INSERT. Mavjud jadvalga satr qo'shish. U muayyan shart bilan aniqlangan bir yoki bir necha qiymat uchun ishlatilishi mumkin. Masalan:

INSERT INTO

Jadval nomi (ustun nomi 1, ustun nomi 2)

VALUES (qiymat 1, qiymat 2).

SQL so'rovining INSERT operatoridan bir nechta qiymat uchun foydalanish uchun sintaksis:

INSERT INTO

Jadval nomi 1 (ustun nomi 1, ustun nomi 2)

SELECT ustun nomi 1, ustun nomi 2

Jadval nomi 2

WHERE jadval nomi 2. ustun nomi 1> 2

Ushbu so'rovnoma 2-jadvaldagi 2-dan katta ustunli barcha ma'lumotlarni va ularni birinchi bo'lib qo'shib qo'yadi.

UPDATE. Nomi degani kabi, bu SQL so'rovlar operatori ma'lum bir xarakterli xususiyat uchun mavjud jadvaldagi ma'lumotlarni yangilaydi.

Misol:

UPDATE jadval nomi 1

MODE ustun nomi 2 = "Fesleğen"

WHERE jadval nomi 1. ustun nomi 1 = 1

Ushbu qurilish, birinchi ustunning 1-raqamiga duch keladigan barcha bosqichlar bilan, xamir bahosini to'ldiradi.

DELETE. Jadvaldagi ma'lumotlarni o'chiradi. Agar shartni belgilashingiz yoki barcha qatorlarni olib tashlashingiz mumkin.

Jadval nomidan o'chirish

WHERE table name.column nomi 1 = 1

Yuqoridagi so'rov ma'lumotlar bazasidagi barcha ma'lumotlarni birinchi ustundagi qiymatdan olib tashlaydi. Va butun jadvalni qanday qilib tozalab olishingiz mumkin:

Jadval nomidan o'chirish.

Bundan tashqari, operator SELECT haqida gapirish kerak. U eng muhimlaridan biri, shuning uchun u alohida bo'limni ajratishi kerak.

SELECT bayonoti

SELECT ning asosiy maqsadi ma'lum shartlar uchun ma'lumotlarni olishdir. Uning ishi natijasi - har doim tanlangan ma'lumotlarga ega bo'lgan yangi jadval. MS SQL Applications iborasi ko'plab turli xil so'rovlarda ishlatilishi mumkin. Shuning uchun, siz bilan birga boshqa tegishli kalit so'zlarni ham ko'rib chiqishingiz mumkin.

Muayyan jadvaldagi barcha ma'lumotlarni tanlash uchun "*" belgisini ishlating.

Applications *

Jadval nomi 1

Ushbu so'rov natijalari 1-jadvalning aniq nusxasi bo'ladi.

Va bu erda 1-jadvalda berilgan barcha qiymatlar 2dan katta bo'lgan WHERE sharti bo'yicha namuna.

Applications *

Jadval nomi 1

WHERE jadval nomi 1. ustun nomi 1> 2

Siz faqat ma'lum ustunlar kerak bo'lgan tanlovda ham belgilashingiz mumkin.

SELECT jadvali nomi 1. ustun nomi 1

Jadval nomi 1

Ushbu so'rov natijasi 1-ustundagi qiymatlar bo'lgan barcha qatorlar bo'ladi. MS SQL jadvallaridan foydalanib, o'z jadvalingizni yarating, almashtirish, hisoblash va ko'chirishda ma'lum qiymatlarni almashtirishingiz mumkin.

SELECT

Jadval nomi 1. ustun nomi 1

Jadval nomi 1. ustun nomi 2

Jadval nomi 1. ustun nomi 3

«=» AS EQ

Jadval nomi 1. ustun nomi 2 * jadval nomi 1. ustun nomi 3 AS SUMMA

Jadval nomi 1

Bu ko'rinarli darajada murakkab so'rovlar 1-jadvaldagi barcha qiymatlarni tanlaydi, keyin EQ va SUMMA ning yangi ustunlarini yaratadi. Birinchisi, 2 va 3 ustunlardagi ma'lumotlar ikkinchi mahsulotida "+" belgisini qo'yadi. Natijani qanday ishlashini tushunish uchun jadval shaklida ko'rsatish mumkin:

1-ustun

2-ustun

3-ustun

EQ

SUMMA

Mahsulot 1 Ism

10

50

+

500

Mahsulot nomi 2

15-o'rin

100

+

1500

SELECT iborasidan foydalanganda, ma'lumotlarni darhol tartibga solishingiz mumkin. Buning uchun ORDER BY so'zidan foydalaning.

SELECT

Jadval nomi 1. ustun nomi 1

Jadval nomi 1. ustun nomi 2

Jadval nomi 1. ustun nomi 3

Jadval nomi 1

ORDER BY ustun nomi 2

Olingan jadval shunday bo'ladi:

1-ustun

2-ustun

3-ustun

1

1

54

3

2

12

7-chi

3

100

2

5

1

Ya'ni, barcha satrlar 2-ustunda qadriyatlar ortib borayotgan tartibda tartibda o'rnatildi.

Ma'lumotlarni bir nechta jadvallardan olish mumkin. Aniqlik uchun avval ma'lumotlar bazasida ikkitasi borligini tasavvur qilishingiz kerak.

Xodimlar jadvali

Xona

Ism

Familiyasi

1

Vasya

Vasin

2

Petya

Petin

"Ish haqi" stoli

Xona

Baholash

To'lov qilingan

1

1

10000

2

0.5

3500

Endi umumiy qiymatlarni olish uchun bu ikkita jadvalni bir-biriga ulashingiz kerak. Asosiy SQL so'rovlarini ishlatishingiz mumkin:

SELECT

Xodimlar soni

Xodimlar

Salary.Stavka

Salary.No

Xodimlar, ish haqi

Qaerda Employees.Number = Salary.Number

Bu erda, tanlov raqamlar bo'yicha guruhlangan ikki xil qiymat jadvalidan tuzilgan. Natija quyidagicha ma'lumotlar to'plamidir:

Xona

Ism

Baholash

To'lov qilingan

1

Vasya

1

10000

2

Petya

0.5

3500

SELECT haqida qisqacha ma'lumot. Umumiy funktsiyalardan foydalanish

Asosiy SQL SELECT so'zlaridan biri misoldagi ba'zi hisoblarni bajarishi mumkin. Buning uchun ma'lum funktsiyalar va formulalarni qo'llaydi.

Misol uchun, xodimlar jadvalidagi yozuvlar sonini olish uchun so'rovdan foydalanishingiz kerak:

NUMBER (*) ni tanlang

Xodimlar orasida

Natijada bitta qiymat va ustunli jadval mavjud.

N

2

So'rovlarda jami, maksimal va minimal qiymatlarni va o'rtacha hisoblangan funktsiyalardan foydalanishingiz mumkin. Buning uchun SUM, MAX, MIN, AVG kalit so'zlari ishlatiladi.

Masalan, ma'lum bo'lgan "Ish haqi" stolidan namuna olishingiz kerak bo'ladi:

Xona

Baholash

To'lov qilingan

1

1

10000

2

0.5

3500

Siz ushbu so'rovni qo'llashingiz va nima sodir bo'lishini ko'rishingiz mumkin:

SELECT

SUMMA (Salary.Specified) SUMMA

MAX (Salary.No) AS MAX

MIN (ish haqi aniqlangan) AS

AVG (Salary.No) AS SRED

Maoshdan

Yakuniy jadval quyidagicha bo'ladi:

SUMMA

MAX

MIN

SRED

13500

10000

3500

6750

Shu tarzda, ma'lumotlar bazasidan talab qilinadigan qiymatlarni tanlashingiz mumkin.

Birlashtirish, kesishma va farqlar

SQL-ga bir nechta so'rovlarni birlashtirish

Employees.Name ni tanlang

Xodimlar orasida

Qaerda Employees.Number = 1

UNION

Employees.Name ni tanlang

Xodimlar, ish haqi

Qaerda Salary.Number = 1

Shuni hisobga olish kerakki, bunday kombinatsiyada jadvallar mos bo'lishi kerak. Ya'ni, ustunlar soni bir xil.

SELECT iborasining sintaksisi va uni qayta ishlash tartibi

SELECT birinchi narsa ma'lumotlarni oladigan maydonni belgilaydi. Buning uchun FROM kalit so'z ishlatiladi. Agar aniqlanmagan bo'lsa, aniq tanlov nima.

Keyin SQL WHERE qoidasi bo'lishi mumkin. Uning yordami bilan SELECT jadvalning barcha satrlarida harakat qiladi va ma'lumotni shartlarga muvofiqligini tekshiradi.

Agar so'rovlar GROUP BY bo'lsa, qiymatlar ko'rsatilgan parametrlarga muvofiq guruhlanadi.

Ma'lumotlarni solishtirish operatorlari

Bir nechta turlari mavjud. SQLda taqqoslash operatorlari turli xil qiymatlarni tekshirishi mumkin.

  • «=». Ikkita iboralarning tengligini taxmin qilishingiz mumkin. Misol uchun, yuqorida keltirilgan misollarda - WHERE ish haqi miqdori ishlatilgan.

  • «>» Ni tanlang. Belgisi katta. So'zning chap tomonida qiymat katta bo'lsa, mantiqiy ROST qaytariladi va holat qoniqtiriladi.

  • «<». Belgisi kichikroq. Oldingi xabarni teskari yo'naltirish.

  • "<=" Va "> =" belgilari. Operatorlar teng bo'lganda, bu holat ham to'g'ri bo'ladi, oddiy operatorlardan farq qiladi.

  • «<>". Hech teng emas. Shart faqat bitta operand boshqasiga teng bo'lmasa, ROST hisoblanadi. Uning yana bir talqini bor - "! =".

Xuddi shunday

Ushbu kalit so'zni "o'xshash" deb tarjima qilishingiz mumkin. SQL kabi BIKORU taxminan xuddi shunday ishlatiladi - shabloni so'rovlar bajaradi. Boshqacha aytganda, ma'lumotlar bazasidan ma'lumotlarni muntazam ifodalardan foydalanib kengaytirish imkonini beradi.

Misol uchun, quyidagi vazifa belgilandi: "Men" bilan tugaydigan barcha odamlarni olish uchun, ma'lum bo'lgan "xodimlar" bazasidan. So'ngra so'rov quyidagicha yozilishi mumkin:

Applications *

Xodimlar orasida

Qaerdadir "% I" nomi

Bu holda foiz belgisi maskani bildiradi, ya'ni har qanday belgi va ularning soni. Va "I" harfi bilan oxirgi belgilar aniq bo'lishi kerakligini aniqlaydi.

Case

Ushbu SQL Server bayonoti ko'p tanlovli dasturdir. Ko'p dasturlash tilida switch dizayniga o'xshaydi. SQLdagi SQL statements bir nechta sharoitda ishlaydi.

Masalan, "Ish haqi" stolida maksimal va minimal qiymatlarni tanlashingiz kerak.

Xona

Baholash

To'lov qilingan

1

1

10000

2

0.5

3500

So'ngra so'rov quyidagicha yozilishi mumkin:

Applications *

Maoshdan

QAChON MAX (TOMONIDAN) TOMONIDAN TUG'ILGAN

TANLASh MIN (TASDIRILGAN) THEN minimal

END jami

Shu nuqtai nazardan tizim "Maksimal" ustunidan maksimal va minimal qiymatni qidiradi. So'ngra, END ni ishlatib, vaziyatning natijasiga qarab, "Maksimal" yoki "Minimal" qayd etiladigan "jami" maydon hosil bo'ladi.

Aytgancha, SQL-da yana bir yilni formasi - COALESCE ham bor.

Ma'lumotlarni aniqlash operatorlari

Ushbu ko'rinish jadvallardagi o'zgarishlarni amalga oshirishga imkon beradi - indekslar yaratish, o'chirish, o'zgartirish va ishlash.

Birinchidan, CREATE TABLE dan iborat. Hech narsa qilmaydi, faqat stol yaratadi. Agar siz faqat CREATE TABLE yozsangiz, hech narsa bo'lmaydi, chunki siz hali ham bir nechta parametrlarni belgilashingiz kerak.

Misol uchun, tanish bo'lgan "Xodimlar" jadvali yaratish uchun siz quyidagi buyruqlarni ishlatasiz:

Jadvalni yaratgan xodimlar

(Raqam raqami (10) QAYD NULL

VARCHAR nomi (50) NOT NULL

Familiyasi varchar (50) QAYD NULL)

Ushbu so'rovda maydon nomlari va ularning turlari darhol Qavslar ichida, shuningdek NULL bo'lishi mumkin.

DROP TABLOSI

Ko'rsatilgan jadvalni o'chirish - bitta oddiy vazifani bajaradi. EXISTS ga qo'shimcha parametr mavjud. Jadval o'chirilgan bo'lsa, xato o'chiriladi. Foydalanish namunasi:

DROP TABLE IF EXISTS xizmatining xodimlari.

INDEX tuzing

SQL ma'lumotlar uzatishni tezlashtirish imkonini beruvchi indeks tizimiga ega. Umuman olganda, ma'lum bir ustunga ishora qiluvchi mos yozuvlar. Indeksni yaratish oddiy so'rovlar bo'lishi mumkin:

CREATE INDEX index_name

O'N tbl_name (column_name)

Ushbu operator T-SQL, Oracle, PL SQL va ko'plab boshqa texnologiya sharhlarida qo'llaniladi.

ALTER TABLE

ko'p variantlari bilan yuqori funktsional operator. Umuman, o'zgarishi strukturasi ta'rifi va taqsimlash jadvallar ishlab chiqaradi. Operator Oracle SQL, Postgres, va boshqa ko'plab ishlatiladi.

Reference endi ALTER TABLE yordamida turli variantlari taqdim etiladi.

  • Qo'shish. Agar jadvalda bir ustun qo'shimcha amalga oshiradi. Bu uni sintaktik: TABLE nazvanie_tablitsy nazvanie_stolbtsa tip_hranimyh_dannyh Add ALTER. EMAS bir ustun allaqachon yaratilgan bo'lsa xato bostirish, qaysi mavjud bo'lsa, bir parametr bo'lishi mumkin;

  • DROP. ustunini olib tashlanadi. Bundan tashqari, talab ustun mavjud emas, deb xato hosil qiladi, qaysi yakunlandi mavjud bo'lsa;

  • O'ZGARTIRISH. belgilangan joy nomini qayta nomlash uchun ishlatiladi. Misol foydalanish: OldName NEW_NAME nazvanie_tablitsy TABLE o'zgarish;

  • O'zgartiring. Bu buyruq bir ustun va qo'shimcha atributlar turini o'zgaradi. Va bu kabi ishlatiladi: TABLE, ALTER nazvanie_tablitsy nazvanie_stolbtsa Ma'lumotlarni turi sifatlari o'zgartirish;

ko'rinishini yaratish

SQL, bir g'oya kabi bir narsa bor. Qisqasi, u ma'lumotlar bilan virtual stol bir xil bo'ladi. Bu til SQL Applications ifodasi yordamida namuna natijasida hosil bo'ladi. Ko'rishlar real ustun nomlarini o'rniga, ularni yashirish uchun ma'lumotlar bazasiga kirishni cheklash mumkin.

yaratish jarayonida oddiy so'rovlar tomonidan sodir:

* Stol nomidan AS ko`rish uchun View ni nomi yaratish

Masal, bir butun sifatida bir butun bazasi sifatida o'rin egallaydi va muayyan holatda bo'lishi mumkin.

xususiyatlari haqida bir oz

SQL so'rovlarni tez-tez ma'lumotlar bilan o'zaro va chivin, ularni o'tkazish imkonini beradi turli ajralmas vazifalarini foydalaning. Ular bir tuzilgan tilida ajralmas qismi bo'lgan kabi, ularni inobatga arziydi.

  • COUNT ta. Muayyan jadvalda satr yoki yozuvlari sanab ishlab chiqaradi. bir variant sifatida, siz, keyin ma'lumotlar, undan olinadi ustun nomini tanlashingiz mumkin. Xodimlari Applications COUNT *;

  • AVG. Bu xususiyat faqat ularning soni ma'lumotlar ustunlar uchun amal qiladi. Uning natijasi barcha qadriyatlar arifmetik o'rtacha belgilash hisoblanadi;

  • MIN va MAX. Ushbu vazifalar, bu maqolada ishlatilgan. Ular maksimal va dedi ustun minimal qiymatlari belgilaydi;

  • Miqdori. Bu oddiy - funksiyasi bir ustun qiymatlari yig'indisi aniqlaydi. Bu, ularning soni ma'lumotlar turi uchun faqat ishlatiladi. DISTINCT talab bir parametr qo'shib, faqat noyob qadriyatlarni qo'shiladi;

  • ROUND. Function o'nlik kasr sonlar yaxlitlash. ustun nomi va kasr soniga ishlatiladigan sintaktik;

  • LEN. ustun uzunligini qayd oddiy funksiyasi. Natijada belgilar sonini ko'rsatgan yangi stol bo'ladi;

  • HOZIR. Bu kalit so'z joriy sana va vaqtni hisoblash uchun ishlatiladi.

Qo'shimcha operatorlari

SQL jadvallar ko'p misollar kichik vazifalarni bajarish, lekin shunga qaramay juda namunasi yoki ma'lumotlar bazasi faoliyatini soddalashtirish kalit so'zlar.

  • AS. ingl bir jadval olish uchun belgilangan nomini tayinlash natija tashkil istayman qachon ishlatiladi.

  • Orasida. namuna olish uchun juda qulay vositasi. Bu ma'lumotlarni olish uchun zarur, jumladan, qadriyatlar qator ko'rsatadi. Kirish parametr va foydalaniladigan soni qator oladi;.

  • EMAS. operator so'z aksini beradi.

  • Kesasizmi. dedi tayanch qismi ma'lumotlarni olib tashlanadi. imkonsiz, uning foydalanishdan keyin ma'lumotlarni saqlab qolish o'sha operatorlari farq. Bu turli SQL bir berilgan kalit amalga oshirish, turli izohlar bo'lishi mumkin, deb qayd arziydi. Bas, siz fon ma'lumotlar bilan yaqindan kesasizmi, foydalanishga harakat oldin.

  • Kamaytiradi. chiqish liniyalari sonini belgilab beradi. operator o'ziga xosligi u har doim oxirida joylashgan bo'ladi. Bu majburiy, bir va bir ixtiyoriy parametr oladi. birinchi tanlangan ma'lumotlar bilan ko'p satr ko'rsatish uchun qanday ko'rsatadi. Va soniyada bo'lsa, keyin operator qadriyatlar qator ikkala faoliyat ko'rsatmoqda.

  • Union. Juda samimiy operatori bir necha so'rovlarni birlashtirish. U allaqachon bu maqolada bu misollar orasida uchrashdi. Siz Union yanada qulay foydalanish uchun ularni birlashtirib, bir necha jadvaldagi qatorlarni ko'rsatishga mumkin. Bu uni sintaktik: imya_drugogo_stolbtsa imya_drugoy stol stol UNION tanlab column_name Select ni bosing. Natijada birlashgan talablar bir jadval hisoblanadi.

  • PRIMARY KEY. deb tarjima qilingan «birlamchi kalit." Aslida, bunday terminologiyasi yozuvlar materiallar ishlatiladi. U ketma-ket bir noyob identifikatori hisoblanadi. uni o'z ichiga oladi maydonini ko'rsatish uchun bir jadval yaratish qachon, qoida sifatida ishlatiladi.

  • Default. Faqat bir so'rog'ini yaratish amalga oshirishda foydalaniladigan oldingi operatori sifatida. Bu yaratilgan bo'lsa sohasida to'ldirilgan bo'ladi standart qiymatini belgilaydi.

Bir necha Maslahatlar SQL bilan ishlash uchun bir platforma ishlab chiqish uchun

  1. NULL. Murojaatlar tayyorlashda Yangi boshlagan va nafaqat dasturchilar ko'pincha NULL qadriyatlarni mavjudligi haqida unutib. Natijada, qiyin xato bilan sirg'alib kodi, nosozliklarini tuzatish jarayonida kuzatish uchun. Agar jadval yaratishda Shuning uchun, yoki qayta namuna qadriyatlar to'xtatish va o'ylash kerak, va NULL yuzaga bo'lsin so'rovlar sohasida hisobga olinadi.

  2. Xotira. Bu maqolada biz muayyan vazifalarni amalga oshirish imkoniga ega vazifalarni bir qator namoyish etildi. ma'lumotlar bazasi bilan ishlash uchun qobig'i rivojlantirish, siz bazasi tizimiga oddiy so'zlar hisob "og'ir mudroq» mumkin. Ba'zi hollarda, bu ishlashi muhim ortishi beradi.

  3. Cheklovlar. Agar satrlar faqat ikki minglab bilan bazasida olish bo'lsangiz, u cheklash yoki TOP kabi operatorlari foydalanish lozim. Hojat yo'q til rivojlanish qobig'i orqali ma'lumotlarni olish uchun.

  4. Ulang. bir necha jadvaldagi ma'lumotlar olinganidan keyin, ko'p dasturchilar bilan birgalikda ularni kamaytirish xotira degan ma'noni anglatadi zarf boshlaydi. Lekin nima uchun? Axir, siz barcha mavjud bo'ladi bo'lgan so'rov qilish mumkin. Siz bir marta kodni yozish va tizimida qo'shimcha xotira ajratish shart emas.

  5. Tartiblash. Bu talabiga tartibga solishni qo'llash mumkin bo'lsa, ya'ni, DBMS kuchlari, uni ishlatish uchun zarur bo'ladi. Bu juda resurslarni dastur yoki xizmat haqida qutqaradi.

  6. Ko'p so'rovlar. Agar ketma-ketlikda yozuvlar ko'p kiritish kerak bo'lsa, u holda optimallashtirish ma'lumot paketi bir so'rov joylashtirilgan haqida o'ylashimiz kerak. Bu, shuningdek, butun tizimining ish faoliyatini oshiradi.

  7. ma'lumotlar ehtiyot joylashtirish. baza tuzilishini tuzish oldin haqida va zarur jadvallar va sohalarda bunday bir qator bo'lsin yuritish kerak bo'ladi. Balki, ularni birlashtirish, yoki ba'zi voz bir yo'li bor. Juda tez-tez, dasturchilar, hech bir joyda va hech qachon ishlatiladi ma'lumotlar ortiqcha miqdorda foydalaning.

  8. Turlari. oraliq saqlash va resurslar ishlatiladi ma'lumotlar turlari sezgir bo'lishi kerak. Agar xotira turi uchun bir oz "og'ir" foyda olish mumkin bo'lsa, uning nomini ishlatish kerak. bu sohada ma'lum Misol uchun, ularning soni bir qiymat 255, oshmasligi bo'ladi nega 4-bayt INT foydalanish, 1 bayt bor TINYINT bo'lsa.

xulosa

veb-saytlarni, veb-xizmatlar, ish stoli dasturiy ta'minot, mobil ilovalar - Shunday qilib, til SQL endi deyarli hamma joyda ishlatiladi so'rovlarni tuzilgan, deb ta'kidlash lozim. Shuning uchun, SQL bilim rivojlanishning barcha tarmoqlarini yordam beradi.

Biroq, ona tili standarti o'zgartirish ba'zan bir-biridan farq qiladi. Misol uchun, PL SQL operatorlari SQL Server ortiq turli sintaksisini bo'lishi mumkin. Agar bu texnologiyalar bilan rivojlanib boshlash Shunday oldin, u ko'rsatmalar tomonidan u bilan yaqindan tanishish zarur.

SQL faoliyati va ish faoliyatini o'zib ketishi mumkin kelajak hamkasblari, tashqari, u paydo dargumon, shuning uchun bu maqsad har qanday programcı uchun juda istiqbolli tokcha bo'ladi.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 uz.birmiss.com. Theme powered by WordPress.