# SQL o'rnatish: DB Browser va namuna baza

> SQL bilan amaliy ishlash uchun DB Browser for SQLite dasturini o'rnatish, namuna do'kon bazasini yuklash va birinchi SELECT so'rovini ishga tushirish.

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

[O'tgan ikki darsda](https://learncode.uz/sql/sql-nima) ma'lumotlar bazasi va SQL nimaligini
ko'rdik — nazariy tomonini. Endi so'rovlarni **o'z qo'lingiz bilan yozib,
haqiqiy natija olishga** o'tamiz. Buning uchun kichik dastur o'rnatamiz va
tayyor namuna bazani yuklaymiz. Shu darsdan keyingi barcha darslar aynan
shu baza ustida ishlaydi.

## Nega alohida dastur kerak

SQL so'rovi ishlashi uchun **ma'lumotlar bazasi** kerak — so'rov o'sha bazaga
yuboriladi va u javob qaytaradi. Bazani boshqaradigan dastur bor: unga baza
**dvigateli** (engine) deyiladi.

Biz eng soddasini — **SQLite** ni tanlaymiz. Uning afzalligi: butun baza
bitta faylda saqlanadi, alohida server o'rnatish yoki sozlash shart emas.
Boshlash uchun ideal.

> **Atama**
>
> **SQLite** — serversiz, yengil baza dvigateli. Butun baza bitta `.db` faylda
> turadi — uni ko'chirish, jo'natish, zaxiralash xuddi fayl kabi. Telefon
> ilovalari va brauzerlar ichida ham aynan shu ishlatiladi. SQL'ni o'rganish
> uchun eng qulay boshlang'ich muhit.

## DB Browser for SQLite o'rnatish

SQLite bazasi bilan ishlash uchun bizga ko'rinadigan oyna (grafik interfeys)
kerak. **DB Browser for SQLite** — bepul, ochiq va Windows, macOS, Linux'da
ishlaydi.

1. [sqlitebrowser.org](https://sqlitebrowser.org) saytiga kiring.
2. **Download** bo'limidan o'z tizimingizga mos o'rnatuvchini yuklang.
3. Boshqa dasturlar kabi o'rnating (Next → Next → Finish).
4. Dasturni oching — bo'sh oyna ochilsa, tayyor.

## Namuna bazani yuklash

Endi ishlaydigan ma'lumot kerak. Biz tayyorlab qo'ygan kichik **"do'kon"**
bazasidan foydalanamiz — uni yuklab oling:

**[⬇ magazin.sql faylini yuklab olish](https://learncode.uz/files/magazin.sql)**

Bu fayl ichida uch jadval va ularning ma'lumotlari tayyor. Uni bazaga
quyidagicha yuklaysiz:

1. DB Browser'da **New Database** (Yangi baza) — faylni `magazin.db` deb
   saqlang. "Edit table" oynasi chiqsa, **Cancel** bosing.
2. Yuqoridagi **Execute SQL** (SQL bajarish) bo'limiga o'ting.
3. Yuklab olgan `magazin.sql` faylini matn muharririda oching, **butun matnini**
   nusxalab, Execute SQL maydoniga qo'ying.
4. **▶ Run** (yoki F5) bosing — pastda "execution finished" chiqadi.
5. **Write Changes** (O'zgarishlarni saqlash) tugmasini bosing.

> **Boshlovchilar tez-tez yanglishadigan joy**
>
> **Write Changes** ni bosishni unutmang. Uni bosmaguningizcha o'zgarishlar
> faqat vaqtinchalik xotirada turadi va dasturni yopsangiz yo'qoladi. Baza
> bilan ishlagach — har doim **Write Changes** bilan saqlang.

Bazada uch jadval paydo bo'ladi:

- **`mahsulotlar`** — do'kondagi tovarlar (nom, narx, soni, turi).
- **`mijozlar`** — xaridorlar (ism, shahar, yosh).
- **`buyurtmalar`** — kim qaysi mahsulotni sotib olgani (mijozlar va
  mahsulotlarni bog'laydi).

Keyingi darslarda ana shu jadvallardan foydalanamiz.

## Birinchi so'rovni ishga tushirish

Hammasi ishlayotganini tekshiramiz. Execute SQL maydoniga quyidagini yozing
va **Run** bosing:

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

Natija — 8 ta mahsulot chiqishi kerak:

| id | nom | narx | soni | turi |
|---|---|---|---|---|
| 1 | Olma | 8000 | 50 | meva |
| 2 | Non | 3000 | 120 | non |
| 3 | Sut | 12000 | 30 | sut mahsuloti |
| 4 | Choy | 15000 | 40 | ichimlik |
| 5 | Banan | 14000 | 25 | meva |
| 6 | Qatiq | 9000 | 0 | sut mahsuloti |
| 7 | Suv | 4000 | 200 | ichimlik |
| 8 | Guruch | 18000 | 60 | don |

Shu jadvalni ko'rsangiz — muhit tayyor. `*` belgisi
[o'tgan darsda](https://learncode.uz/sql/sql-nima) ko'rganimizdek "barcha ustunlar" degani.

## O'rnatishsiz variant

Hech narsa o'rnatmasdan ham boshlashingiz mumkin: keyingi darslardagi
so'rovlarni **shu sahifaning o'zida** ishga tushirasiz. Quyidagi maydon
namuna bazaga ulangan — **Ishga tushirish** ni bosing:

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

Bu maydon har darsda uchraydi va so'rovni tahrirlashga ruxsat beradi.
Har ishga tushirishda baza qaytadan toza holatga keladi, shuning uchun
`DELETE` yoki `UPDATE` yozib ko'rishdan qo'rqmang — hech narsa buzilmaydi.

Uchinchi yo'l — [sqliteonline.com](https://sqliteonline.com): `magazin.sql`
matnini o'sha yerga qo'yib **Run** bossangiz, xuddi shu baza yaratiladi.
Doimiy ishlash va o'z bazangizni saqlash uchun esa DB Browser qulayroq.

<Callout type="example" title="O'zingizni sinab ko'ring">
Baza yuklangach, quyidagilarni ishga tushirib ko'ring — har biri boshqa
jadval:

```sql
SELECT * FROM mijozlar;
SELECT * FROM buyurtmalar;
```

`mijozlar` 4 qator, `buyurtmalar` 6 qator qaytarishi kerak. Malika'ning
`yosh` ustuni bo'sh (`NULL`) ekaniga e'tibor bering — buni keyingi
darslarda alohida ko'ramiz.
</Callout>

## Amaliy mashq

Muhitni tekshiring:

1. Sahifadagi runner'da `SELECT * FROM mahsulotlar;` ni bajaring — 8 qator
   chiqishi kerak;
2. `SELECT * FROM mijozlar;` — 4 qator;
3. `SELECT * FROM buyurtmalar;` — 6 qator;
4. `DELETE FROM mahsulotlar;` yozib ishga tushiring, so'ng yana
   `SELECT * FROM mahsulotlar;` qiling;
5. natijaga qarang — qatorlar qaytib keldimi?
6. `magazin.sql` ni yuklab, DB Browser'da ishga tushiring va o'sha yerda
   `SELECT COUNT(*) FROM mahsulotlar;` bajaring — natija 8 chiqdimi?

4 va 5-qadam runner'ning muhim xususiyatini ko'rsatadi: har ishga
tushirishda baza toza holatdan boshlanadi.

## Qisqacha xulosa

- SQL so'rovi ishlashi uchun **baza dvigateli** kerak; eng soddasi —
  **SQLite** (butun baza bitta faylda).
- **DB Browser for SQLite** — bepul grafik dastur; sqlitebrowser.org dan
  o'rnatiladi.
- Namuna **`magazin.sql`** faylini **Execute SQL** orqali ishga tushirib,
  **Write Changes** bilan saqlaysiz.
- Baza uch jadvaldan iborat: `mahsulotlar`, `mijozlar`, `buyurtmalar`.
- Tekshiruv: `SELECT * FROM mahsulotlar;` — 8 qator qaytarsa, tayyor.

Keyingi darsda [`SELECT`](https://learncode.uz/sql/select) bilan chuqurroq ishlaymiz: faqat
kerakli ustunlarni tanlash, tartiblash va natijani cheklash — endi hammasini
o'z bazangizda sinab ko'rasiz.
