SQL ma'lumot tiplari

Jadvaldagi har bir ustun ma’lum turdagi ma’lumot saqlaydi: narx — son, nom — matn, sana — sana. Ustun yaratilganda uning tipi belgilanadi. Bu darsda asosiy ma’lumot tiplarini va ular nega kerakligini ko’ramiz.

Nega ustunga tip kerak

Tip — ustunga qanday ma’lumot tushishini belgilaydi. Bu ikki narsani beradi:

  • To’g’riliknarx ustuni son deb belgilangan bo’lsa, unga matn tushib qolmaydi.
  • To’g’ri amallar — sonni qo’shish/taqqoslash mumkin, sana bo’yicha tartiblanadi, matn esa alifbo bo’yicha. Tip baza qaysi amalni qo’llashini biladi.

Asosiy tiplar (SQLite)

Namuna bazamiz SQLite’da. Uning asosiy tiplari:

Tip Nima saqlaydi Namuna baza ustuni
INTEGER butun son id, narx, soni, yosh
REAL kasr son (masalan chegirmali narx: 7200.5)
TEXT matn nom, turi, ism, shahar, sana
BLOB fayl/tasvir (xom baytlar) (namunada yo’q)

Har tipdagi ustun qo’shimcha NULL (qiymat yo’q) holatida ham bo’lishi mumkin.

CREATE TABLE da tip ko’rsatiladi

Jadval yaratilganda har ustun nomidan keyin tipi yoziladi. Namuna bazadagi mahsulotlar jadvali shunday tuzilgan:

CREATE TABLE mahsulotlar (
  id    INTEGER PRIMARY KEY,
  nom   TEXT    NOT NULL,
  narx  INTEGER NOT NULL,
  soni  INTEGER NOT NULL,
  turi  TEXT
);

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

SQL · namuna baza

PRIMARY KEY — bu ustun har qatorning noyob kaliti (id). NOT NULL — ustun bo’sh bo’la olmaydi, qiymat majburiy.

Sana bilan ishlash

SQLite’da alohida “sana” tipi yo’q — sana odatda TEXT sifatida, 'YYYY-MM-DD' ko’rinishida saqlanadi (masalan '2026-07-24'). Namuna bazadagi buyurtmalar.sana ustuni shunday. Bu format bo’yicha tartiblash va taqqoslash to’g’ri ishlaydi:

SELECT * FROM buyurtmalar WHERE sana >= '2026-07-05';

'YYYY-MM-DD' formati muhim: shu tartibda yozilgani uchun matn bo’yicha tartiblash ham vaqt bo’yicha to’g’ri chiqadi.

Boshqa bazalardagi tiplar

SQLite tiplarga yumshoq qaraydi, lekin MySQL va PostgreSQL qat’iy. U yerda ko’proq aniq tiplar bor:

Umumiy tip Ma’nosi
VARCHAR(n) uzunligi cheklangan matn (n belgigacha)
INT butun son
DECIMAL(m, n) aniq kasr son (pul uchun ideal)
DATE, DATETIME sana va vaqt
BOOLEAN rost/yolg’on

Nomlar farq qilsa ham, g’oya bir xil: har ustun o’z tipiga ega. SQLite’da o’rgangan tushuncha boshqa bazalarga ham o’tadi.

Amaliy mashq

Turlarni tekshiring:

  1. typeof() bilan nom va narx ustunlari turini ko’ring;
  2. typeof(yosh) ni mijozlar da bajaring — NULL qanday ko’rinadi?
  3. SELECT '5' + 3; ni ishga tushiring — SQLite nima qildi?
  4. SELECT 'salom' + 3; ni sinang;
  5. CAST(narx AS TEXT) bilan turni o’zgartiring.

3 va 4-qadam SQLite’ning turlarga munosabati haqida nima aytadi?

Qisqacha xulosa

  • Har ustunning tipi bor: u qanday ma’lumot saqlanishini belgilaydi.
  • SQLite asosiy tiplari: INTEGER, REAL, TEXT, BLOB.
  • Tip CREATE TABLE da beriladi; PRIMARY KEY va NOT NULL — qo’shimcha cheklovlar.
  • SQLite’da sana TEXT ('YYYY-MM-DD') sifatida saqlanadi.
  • MySQL/PostgreSQL’da VARCHAR, INT, DECIMAL, DATE kabi aniq tiplar bor — g’oya bir xil.

Keyingi darsda operatorlar (BETWEEN, IN, LIKE)WHERE shartlarini qulayroq va kuchliroq yozishni ko’ramiz.

Bu dars foydali bo'ldimi?

marta ko'rildi