SQLab
O‘rganishMashqMasalalarArenaReyting
© 2026 SQLab · Toshkent
SQLab

SQL’ni o‘rnatmasdan, brauzerning o‘zida o‘rganing.

Platforma

  • O‘rganish
  • Mashq
  • Masalalar
  • Arena
  • Reyting

Kimlar uchun

  • Talabalar
  • Ustozlar
  • Universitetlar
© 2026 SQLab. Barcha huquqlar himoyalangan.O‘zbekistonda, talabalar uchun yaratilgan.
O‘rganishMashqMasalalarArenaReyting
0/26

Asoslar

  • Ma’lumotlar bazasi nima?
  • Birinchi SELECT
  • WHERE: kerakli qatorlarni tanlash
  • IN, BETWEEN, LIKE va NULL
  • Saralash, LIMIT va DISTINCT

Hisob-kitob

  • Ifodalar, funksiyalar va CASE
  • Sanalar bilan ishlash
  • COUNT, SUM, AVG, MIN, MAX
  • GROUP BY va HAVING

Jadvallarni ulash

  • Kalitlar va bog‘lanishlar
  • INNER JOIN
  • LEFT JOIN va juftsiz qatorlar
  • Bir nechta jadval va self join

Murakkab so‘rovlar

  • Ichki so‘rovlar
  • UNION, INTERSECT, EXCEPT
  • WITH: nomlangan so‘rovlar
  • Oyna funksiyalari

Jadval yaratish va o‘zgartirish

  • CREATE TABLE: turlar va cheklovlar
  • INSERT, UPDATE, DELETE
  • ALTER, DROP, TRUNCATE
  • Bazani to‘g‘ri loyihalash

Professional daraja

  • Indekslar va EXPLAIN
  • Tranzaksiyalar va ACID
  • VIEW: saqlangan so‘rovlar
  • Funksiyalar, protseduralar, triggerlar
  • Foydalanuvchilar, huquqlar, zaxira nusxa
O‘rganish/Jadval yaratish va o‘zgartirish

CREATE TABLE: turlar va cheklovlar

1810 daq

Endi bazadan o‘qishni emas, uni qurishni o‘rganamiz. Bu darsdagi buyruqlarni o‘zingizning shaxsiy bazangizda sinab ko‘ring: Mashq → Erkin rejim — u yerda xohlagan jadvalni yaratib, o‘chirishingiz mumkin.

Baza yaratish

CREATE DATABASE kutubxona;

PostgreSQL’da yangi bazaga ulanish: \c kutubxona. Bazalar ro‘yxati: \l.

Jadval yaratish

CREATE TABLE books (
  id       ...,                         -- birlamchi kalit (pastda)
  title    varchar(200) NOT NULL,
  author   varchar(100) NOT NULL,
  year     int,
  price    decimal(10, 2) DEFAULT 0,
  isbn     varchar(20) UNIQUE
);

Har bir ustun: nomi, turi va kerak bo‘lsa cheklovlar.

Asosiy turlar

Tur Nima saqlaydi Misol
int / bigint butun son 42
decimal(p, s) aniq kasr son (pul uchun) 18000.50
varchar(n) n tagacha belgili matn 'Otabek'
text uzun matn maqola
date sana '2026-11-14'
boolean ha / yo‘q true

PostgreSQL’da sana-vaqt — timestamp, kasr — numeric (decimal ham ishlaydi).

Pul uchun hech qachon float ishlatmang: u taxminiy son, 0.1 + 0.2 0.30000000000000004 bo‘lib chiqishi mumkin. Pul — decimal.

Avtomatik raqam: birlamchi kalit

id bigint GENERATED ALWAYS AS IDENTITY PRIMARY KEY

Eski usul serial ham ishlaydi: id serial PRIMARY KEY.

Raqamni baza o‘zi qo‘yadi: 1, 2, 3… INSERT da id ni yozish shart emas.

Cheklovlar

Cheklov Ma’nosi
NOT NULL bo‘sh bo‘lishi mumkin emas
UNIQUE takrorlanmasin
DEFAULT x qiymat berilmasa — x
CHECK (shart) shart bajarilsin: CHECK (price >= 0)
PRIMARY KEY NOT NULL + UNIQUE, qatorning raqami
REFERENCES tashqi kalit

Tashqi kalit

CREATE TABLE loans (
  id       bigint PRIMARY KEY ...,
  book_id  bigint NOT NULL,
  reader   varchar(100) NOT NULL,
  taken_at date NOT NULL DEFAULT CURRENT_DATE,
  FOREIGN KEY (book_id) REFERENCES books (id)
);

Qoidalar:

  • ota jadval (books) avval yaratiladi;
  • tashqi kalit ustunining turi ota kalit turi bilan bir xil bo‘ladi (bigint ↔ bigint);
  • mavjud bo‘lmagan kitobni berib bo‘lmaydi, berilgan kitobni o‘chirib bo‘lmaydi.

Jadval tuzilishini ko‘rish

\d books — ustunlar, turlar, kalitlar. Jadvallar ro‘yxati — \dt.

Mashq

Erkin rejimda kutubxona bazasini yarating va unda books hamda loans jadvallarini yuqoridagidek quring. Keyin mavjud bo‘lmagan book_id bilan qator qo‘shib ko‘ring — baza qanday xato berishini ko‘ring. Bosqichma-bosqich mashq uchun Mashq bo‘limidagi 2- va 4-bosqichlar aynan shu mavzuda.

Esda qoldiring

  • CREATE TABLE nom (ustun tur cheklovlar, …);
  • Pul — decimal, sana — date, matn — varchar(n).
  • Tashqi kalitni MySQL’da ham, PostgreSQL’da ham alohida FOREIGN KEY qatori bilan yozing.
Oldingi darsOyna funksiyalariKeyingi darsINSERT, UPDATE, DELETE

Mundarija

  • Baza yaratish
  • Jadval yaratish
  • Asosiy turlar
  • Avtomatik raqam: birlamchi kalit
  • Cheklovlar
  • Tashqi kalit
  • Jadval tuzilishini ko‘rish
  • Mashq
  • Esda qoldiring
O‘rganishMashqMasalalarArenaReyting

SQLab