# SQL nima va birinchi so'rov

> SQL nima, u qanday ishlaydi va birinchi SQL so'rovi qanday yoziladi? So'rov tuzilishi, asosiy buyruqlar va SQL sintaksisi bilan amaliy kirish darsi.

Manba: https://learncode.uz/sql/sql-nima/
Sana: 2026-06-10

[O'tgan darsda](https://learncode.uz/sql/malumotlar-bazasi-nima) ma'lumotlar bazasi jadval
ko'rinishida ma'lumot saqlashini ko'rdik. Endi shu jadvallar bilan
gaplashish tilini — **SQL**ni o'rganamiz. Bu darsda SQL nima ekanini va
birinchi so'rovni yozishni ko'ramiz.

## SQL nima

**SQL** (Structured Query Language — "tuzilgan so'rov tili") — ma'lumotlar
bazasiga buyruq beradigan til. Uning yordamida:

- ma'lumot **olasiz** (SELECT)
- yangi ma'lumot **qo'shasiz** (INSERT)
- mavjudini **o'zgartirasiz** (UPDATE)
- keraksizini **o'chirasiz** (DELETE)

SQL — dasturlash tili emas. Unda sikl, funksiya yoki murakkab mantiq
yozilmaydi. U bitta narsaga ixtisoslashgan: **ma'lumot bilan ishlash**.
Aynan shuning uchun u soddaroq va tezroq o'rganiladi.

> **Atama**
>
> **So'rov (query)** — bazaga yuborilgan bitta SQL buyrug'i. Masalan,
> "barcha mahsulotlarni ko'rsat" — bu so'rov. Baza so'rovni bajaradi va
> natijani (odatda jadval ko'rinishida) qaytaradi.

## SQL ingliz tiliga o'xshaydi

SQL'ning eng qulay tomoni — buyruqlar deyarli ingliz tilidagi gapga
o'xshaydi. Quyidagi jadval bilan ishlaymiz:

| id | nom | narx | soni |
|---|---|---|---|
| 1 | Olma | 8000 | 50 |
| 2 | Non | 3000 | 120 |
| 3 | Sut | 12000 | 30 |

Bu `mahsulotlar` jadvalidan **barcha** ma'lumotni olish uchun so'rov:

```sql
SELECT * FROM mahsulotlar;
```

O'zingiz ishga tushirib ko'ring — so'rovni tahrirlashingiz ham mumkin:

```sql
SELECT * FROM mahsulotlar;
```

Buni so'zma-so'z o'qisak: "**SELECT** (tanla) **\*** (hammasini) **FROM**
(dan) **mahsulotlar**". Ya'ni "mahsulotlar jadvalidan hamma ustunni tanla".

Natija — butun jadval:

| id | nom | narx | soni |
|---|---|---|---|
| 1 | Olma | 8000 | 50 |
| 2 | Non | 3000 | 120 |
| 3 | Sut | 12000 | 30 |

## So'rov tuzilishini tahlil qilamiz

Yuqoridagi sodda so'rovda uch qism bor:

- **`SELECT`** — buyruq: "ma'lumot tanla" (ol).
- **`*`** — yulduzcha "barcha ustun" degani. Uning o'rniga aniq ustun
  nomlarini yozish mumkin (keyingi darsda).
- **`FROM mahsulotlar`** — qaysi jadvaldan olinishi.
- **`;`** — nuqta-vergul so'rov tugaganini bildiradi.

> **Yodda tuting**
>
> SQL buyruqlari (`SELECT`, `FROM`) odatda **KATTA harflar** bilan yoziladi.
> Bu majburiy emas — `select` ham ishlaydi — lekin katta harf buyruqlarni
> ustun nomlaridan ajratib, so'rovni o'qishni osonlashtiradi. Shu odatga
> rioya qilamiz.

## Nuqta-vergul haqida

Har SQL so'rovi **nuqta-vergul** (`;`) bilan tugaydi. U bazaga "so'rov
tugadi, endi bajar" deb bildiradi. Bitta so'rovda uni tashlab qoldirsa
ba'zi bazalar kechiradi, lekin ko'p so'rovni ketma-ket yozganda `;`
ularni ajratadi — shuning uchun doim qo'yish odat qilinadi.

## SQL qayerda sinaladi

SQL'ni sinash uchun ma'lumotlar bazasi kerak. Keyingi darsda buni
tayyorlaymiz: kichik dastur o'rnatib, namuna bazani yuklaymiz va so'rovlarni
o'z kompyuteringizda ishga tushirasiz. Shu paytgacha esa so'rov natijalarini
o'ylab, mantiqan tushunishga harakat qiling.

<Callout type="example" title="O'zingizni sinab ko'ring">
Yuqoridagi `mahsulotlar` jadvali uchun so'rovlar qanday natija berishini
tasavvur qiling:

```sql
SELECT * FROM mahsulotlar;
```

Bu butun jadvalni qaytaradi. Endi o'ylang: agar `mahsulotlar` o'rniga
`xaridorlar` deb yozsangiz-u, bazada bunday jadval bo'lmasa — nima bo'ladi?
(Baza xato beradi: "bunday jadval yo'q".) SQL'da jadval nomi aniq
bo'lishi shart.
</Callout>

## Amaliy mashq

Birinchi so'rovlaringizni yozing:

1. `SELECT * FROM mahsulotlar;` ni ishga tushiring;
2. `mahsulotlar` o'rniga `mijozlar` yozib qayta bajaring;
3. `buyurtmalar` jadvalini ham ko'ring;
4. jadval nomini ataylab xato yozing — qanday xabar chiqadi?
5. nuqta-vergulni olib tashlab ko'ring — so'rov baribir ishladimi?
6. `*` o'rniga bitta ustun nomini yozing: `SELECT nom FROM mahsulotlar;` —
   natija qanday o'zgardi?

Har uch jadvalda nechtadan qator bor?

## Qisqacha xulosa

- SQL — ma'lumotlar bazasiga buyruq beradigan til; dasturlash tili emas.
- To'rt asosiy amal: `SELECT` (ol), `INSERT` (qo'sh), `UPDATE` (o'zgartir),
  `DELETE` (o'chir).
- Birinchi so'rov: `SELECT * FROM jadval;` — jadvaldan barcha ma'lumotni
  oladi.
- `*` — barcha ustun, `FROM` — qaysi jadval, `;` — so'rov oxiri.
- Buyruqlar odatda katta harf bilan yoziladi (o'qish uchun).

Keyingi darsda [muhitni o'rnatib, namuna bazani yuklaymiz](https://learncode.uz/sql/sql-ornatish)
— shundan so'ng so'rovlarni o'z kompyuteringizda sinab ko'rasiz.
