SQL ma’lumot tiplari


baham ko‘ring

SQL Ma’lumotlar turlari

Ustunning ma’lumot turi unda qanday qiymatlar saqlanishi mumkinligini belgilaydi: butun son, belgilar, pul birligi, sana va vaqt, binar ma’lumotlar va h.k.

Ma’lumotlar bazasi jadvalidagi har bir ustun o‘z nomiga va ma’lumot turiga ega bo‘lishi shart.

SQL dasturchisi jadval yaratishda har bir ustunda qanday turdagi ma’lumotlar saqlanishini hal qilishi kerak. Ma’lumotlar turi SQL uchun har bir ustun ichida qanday turdagi ma’lumotlar kutilishini tushunish uchun ko‘rsatma bo‘lib, SQL saqlangan ma’lumotlar bilan qanday o‘zaro ta’sir qilishini ham aniqlaydi.

Har doim hujjatlarni tekshiring! Turli ma’lumotlar bazalarida ma’lumotlar turlari turli nomlarga ega bo‘lishi mumkin. Nomi bir xil bo‘lsa ham, hajmi va boshqa tafsilotlari boshqacha bo‘lishi mumkin!


MySQL ma’lumot tiplari (8.4-versiya)

MySQL’da uchta asosiy ma’lumot turi mavjud: matnli (string), sonli (numeric) hamda sana va vaqt.

Matnli ma’lumot turlari (String)

Ma’lumot turi Tavsif
CHAR(size) Qat’iy uzunlikdagi string (harflar, raqamlar va maxsus belgilarni o‘z ichiga olishi mumkin). size ustun uzunligini belgilarda, 0 dan 255 gacha belgilaydi. Standart size qiymati 1
VARCHAR(size) O‘zgaruvchan uzunlikdagi string (harflar, raqamlar va maxsus belgilarni o‘z ichiga olishi mumkin). size ustunning maksimal uzunligini belgilarda, 0 dan 65535 gacha belgilaydi
BINARY(size) CHAR() ga o‘xshaydi, lekin ikkilik bayt stringlarini saqlaydi. size ustun uzunligini baytlarda belgilaydi. Standart size qiymati 1
VARBINARY(size) VARCHAR() ga o‘xshaydi, lekin ikkilik bayt stringlarini saqlaydi. size ustunning maksimal uzunligini baytlarda belgilaydi.
BLOB(size) Maksimal uzunligi 65535 bayt bo‘lgan BLOB ustuni
TINYBLOB Maksimal uzunligi 255 bayt bo‘lgan BLOB ustuni
MEDIUMBLOB Maksimal uzunligi 16777215 bayt bo‘lgan BLOB ustuni
LONGBLOB Maksimal uzunligi 4294967295 yoki 4 GB bayt bo‘lgan BLOB ustuni
TEXT(size) Maksimal uzunligi 65535 bayt bo‘lgan stringni saqlaydi
TINYTEXT Maksimal uzunligi 255 belgi bo‘lgan TEXT ustuni
MEDIUMTEXT Maksimal uzunligi 16777215 belgi bo‘lgan TEXT ustuni
LONGTEXT Maksimal uzunligi 4294967295 yoki 4 GB bayt bo‘lgan TEXT ustuni
ENUM(val1, val2, val3, ...) Mumkin bo‘lgan qiymatlar ro‘yxatidan (val1, val2, val3,..) tanlangan faqat bitta qiymatga ega bo‘la oladigan string obyekti. Ro‘yxatda 65535 tagacha qiymat ko‘rsatish mumkin. Agar ro‘yxatda bo‘lmagan qiymat qo‘shilsa, bo‘sh qiymat qo‘shiladi
SET(val1, val2, val3, ...) Mumkin bo‘lgan qiymatlar ro‘yxatidan (val1, val2, val3,..) tanlangan nol yoki undan ortiq qiymatga ega bo‘la oladigan string obyekti. Ro‘yxatda 64 tagacha qiymat ko‘rsatish mumkin

Sonli ma’lumot turlari (Numeric)

Ma’lumot turi Tavsif
BIT(size) Bit-qiymat turi. size har bir qiymatdagi bitlar sonini bildiradi, 1 dan 64 gacha. size uchun standart qiymat 1.
TINYINT(size) Juda kichik butun son. Ishorali diapazon -128 dan 127 gacha. Ishorasiz diapazon 0 dan 255 gacha. size minimal ko‘rsatish kengligini belgilaydi (maksimal ko‘rsatish kengligi 255)
BOOL Nol qiymati noto‘g‘ri, nolga teng bo‘lmagan qiymatlar rost deb hisoblanadi.
BOOLEAN BOOL bilan bir xil
SMALLINT(size) Kichik butun son. Ishorali diapazon -32768 dan 32767 gacha. Ishorasiz diapazon 0 dan 65535 gacha. size minimal ko‘rsatish kengligini belgilaydi (maksimal ko‘rsatish kengligi 255)
MEDIUMINT(size) O‘rtacha kattalikdagi butun son. Ishorali diapazon -8388608 dan 8388607 gacha. Ishorasiz diapazon 0 dan 16777215 gacha. size minimal ko‘rsatish kengligini belgilaydi (maksimal ko‘rsatish kengligi 255)
INT(size) Oddiy kattalikdagi butun son. Ishorali diapazon -2147483648 dan 2147483647 gacha. Ishorasiz diapazon 0 dan 4294967295 gacha. size minimal ko‘rsatish kengligini belgilaydi (maksimal ko‘rsatish kengligi 255)
INTEGER(size) INT(size) bilan bir xil (sinonim)
BIGINT(size) Katta butun son. Ishorali diapazon -9223372036854775808 dan 9223372036854775807 gacha. Ishorasiz diapazon 0 dan 18446744073709551615 gacha. size minimal ko‘rsatish kengligini belgilaydi (maksimal ko‘rsatish kengligi 255)
DECIMAL(size, d) Aniq, qat’iy nuqtali son. size raqamlarning umumiy sonini bildiradi (maksimal 65). d o‘nlik nuqtadan keyingi raqamlar sonini bildiradi (maksimal 30). size uchun standart qiymat 10. d uchun standart qiymat 0.
DEC(size, d) DECIMAL(size, d) bilan bir xil (sinonim)
FLOAT(size, d) Kichik o‘nlik kasr (floating-point) son. FLOAT(size, d) MySQL 8.0.17 da eskirgan deb belgilangan va MySQL’ning kelgusi versiyalarida olib tashlanadi
FLOAT(p) O‘nlik kasr (floating-point) son. p qiymati olingan ma’lumotlar turi uchun FLOAT yoki DOUBLE dan foydalanishni aniqlaydi. Agar p 0 dan 24 gacha bo‘lsa, ma’lumotlar turi FLOAT bo‘ladi. Agar p 25 dan 53 gacha bo‘lsa, ma’lumotlar turi DOUBLE bo‘ladi
DOUBLE(size, d) Oddiy o‘lchamdagi o‘nlik kasr (floating-point) son. Ruxsat etilgan qiymatlar: -1.7976931348623157E+308 dan -2.2250738585072014E-308 gacha, 0 hamda 2.2250738585072014E-308 dan 1.7976931348623157E+308 gacha. Raqamlarning umumiy soni size parametrida, o‘nlik nuqtadan keyingi raqamlar soni esa d parametrida ko‘rsatiladi
DOUBLE PRECISION(size, d) DOUBLE(size, d) bilan bir xil (sinonim)

Sana va vaqt ma’lumot turlari (Date and Time)

Ma’lumot turi Tavsif
DATE Sana. Format: YYYY-MM-DD. Qo‘llab-quvvatlanadigan diapazon: "1000-01-01" dan "9999-12-31" gacha
DATETIME(fsp) Sana va vaqt kombinatsiyasi. Format: YYYY-MM-DD hh:mm:ss. Qo‘llab-quvvatlanadigan diapazon “1000-01-01 00:00:00” dan “9999-12-31 23:59:59” gacha. Joriy sana va vaqt bilan avtomatik initsializatsiya va yangilash uchun ustun ta’rifiga DEFAULT va ON UPDATE qo‘shiladi
TIMESTAMP(fsp) Vaqt tamg‘asi. Format: YYYY-MM-DD hh:mm:ss. TIMESTAMP qiymatlari Unix davridan keyingi soniyalar soni sifatida saqlanadi ('1970-01-01 00:00:00' UTC). Qo‘llab-quvvatlanadigan diapazon: “1970-01-01 00:00:01” UTC dan “2038-01-09 03:14:07” UTC gacha. Joriy sana va vaqt bilan avtomatik initsializatsiya va yangilash ustun ta’rifida DEFAULT CURRENT_TIMESTAMP va ON UPDATE CURRENT_TIMESTAMP yordamida belgilanishi mumkin.
TIME(fsp) Vaqt. Format: hh:mm:ss. Qo‘llab-quvvatlanadigan diapazon "-838:59:59" dan "838:59:59" gacha
YEAR To‘rt xonali formatda bir yil (YYYY). To‘rt xonali formatda ruxsat etilgan qiymatlar: 1901 dan 2155 gacha va 0000.


SQL Server ma’lumotlar turlari

SQL Server’da uchta asosiy ma’lumot turi mavjud: matnli (string), sonli (numeric) hamda sana va vaqt.

Matnli ma’lumot turlari (String)

Ma’lumot turi Tavsif Maks. belgilar uzunligi Xotira hajmi
char(n) Qat’iy uzunlikdagi Unicode bo‘lmagan belgili ma’lumotlar (n 1 dan 8000 gacha bo‘lishi shart) 8,000 n bayt (har bir belgi uchun bir bayt ishlatadi)
varchar(n) O‘zgaruvchan uzunlikdagi Unicode bo‘lmagan belgili ma’lumotlar (n 1 dan 8000 gacha bo‘lishi shart) 8,000 n bayt + 2 bayt
varchar(max) O‘zgaruvchan uzunlikdagi Unicode bo‘lmagan belgili ma’lumotlar   2 GB gacha
nchar(n) Qat’iy uzunlikdagi Unicode belgili ma’lumotlar (n 1 dan 4000 gacha bo‘lishi shart) 4,000 2 * n bayt (har bir belgi uchun ikki bayt ishlatadi)
nvarchar(n) O‘zgaruvchan uzunlikdagi Unicode belgili ma’lumotlar (n 1 dan 4000 gacha bo‘lishi shart) 4,000 2 * n bayt + 2 bayt (har bir belgi uchun ikki bayt ishlatadi)
nvarchar(max) O‘zgaruvchan uzunlikdagi Unicode belgili ma’lumotlar   2 GB gacha
binary(n) Qat’iy uzunlikdagi ikkilik ma’lumotlar (n 1 dan 8000 gacha bo‘lishi shart) 8,000 n bayt
varbinary(n) O‘zgaruvchan uzunlikdagi ikkilik ma’lumotlar (n 1 dan 8000 gacha bo‘lishi shart) 8,000 kiritilgan ma’lumotlarning haqiqiy uzunligi + 2 bayt
varbinary(max) O‘zgaruvchan uzunlikdagi ikkilik ma’lumotlar 2GB  

Sonli ma’lumot turlari (Numeric)

Ma’lumot turi Tavsif Xotira hajmi
bit 0, 1 yoki NULL bo‘lishi mumkin bo‘lgan butun son  
tinyint 0 dan 255 gacha bo‘lgan butun sonlarga ruxsat beradi 1 bayt
smallint -32,768 dan 32,767 gacha bo‘lgan butun sonlarga ruxsat beradi 2 bayt
int -2,147,483,648 dan 2,147,483,647 gacha bo‘lgan butun sonlarga ruxsat beradi 4 bayt
bigint -9,223,372,036,854,775,808 dan 9,223,372,036,854,775,807 gacha bo‘lgan butun sonlarga ruxsat beradi 8 bayt
decimal(p,s) Aniqligi (precision) va masshtabi (scale) qat’iy belgilangan sonlar.

-10^38 +1 dan 10^38 –1 gacha sonlarga ruxsat beradi.

p parametri saqlanishi mumkin bo‘lgan raqamlarning maksimal umumiy sonini (o‘nlik nuqtaning ham chap, ham o‘ng tomonidagi) bildiradi. p 1 dan 38 gacha bo‘lgan qiymat bo‘lishi shart. Standart qiymat 18.

s parametri o‘nli kasrning o‘ng tomonida saqlanadigan raqamlarning maksimal sonini ko‘rsatadi. s 0 dan p gacha bo‘lgan qiymat bo‘lishi kerak. Standart qiymat 0

5-17 bayt
numeric(p,s) Aniqligi (precision) va masshtabi (scale) qat’iy belgilangan sonlar.

-10^38 +1 dan 10^38 –1 gacha sonlarga ruxsat beradi.

p parametri saqlanishi mumkin bo‘lgan raqamlarning maksimal umumiy sonini (o‘nlik nuqtaning ham chap, ham o‘ng tomonidagi) bildiradi. p 1 dan 38 gacha bo‘lgan qiymat bo‘lishi shart. Standart qiymat 18.

s parametri o‘nli kasrning o‘ng tomonida saqlanadigan raqamlarning maksimal sonini ko‘rsatadi. s 0 dan p gacha bo‘lgan qiymat bo‘lishi kerak. Standart qiymat 0

5-17 bayt
smallmoney -214,748.3648 dan 214,748.3647 gacha bo‘lgan pul ma’lumotlari 4 bayt
money -922,337,203,685,477.5808 dan 922,337,203,685,477.5807 gacha bo‘lgan pul ma’lumotlari 8 bayt
float(n) -1.79E + 308 dan 1.79E + 308 gacha bo‘lgan o‘nlik kasr aniqlikdagi sonli ma’lumotlar.

n parametri maydon 4 yoki 8 bayt saqlashi kerakligini bildiradi. float(24) 4 baytli maydonni, float(53) esa 8 baytli maydonni saqlaydi. n ning standart qiymati 53.

4 yoki 8 bayt
real -3.40E + 38 dan 3.40E + 38 gacha bo‘lgan o‘nlik kasr aniqlikdagi sonli ma’lumotlar 4 bayt

Sana va vaqt ma’lumot turlari (Date and Time)

Ma’lumot turi Tavsif Xotira hajmi
date Faqat sanani saqlaydi. 0001-yil 1-yanvardan 9999-yil 31-dekabrgacha 3 bayt
time Faqat vaqtni saqlaydi, 100 nanosoniya aniqlik bilan 3-5 bayt
datetime 1753-yil 1-yanvardan 9999-yil 31-dekabrgacha, 3.33 millisoniya aniqlik bilan 8 bayt
datetime2 0001-yil 1-yanvardan 9999-yil 31-dekabrgacha, 100 nanosoniya aniqlik bilan 6-8 bayt
smalldatetime 1900-yil 1-yanvardan 2079-yil 6-iyungacha, 1 daqiqa aniqlik bilan 4 bayt
datetimeoffset Vaqt mintaqasi ofsetini qo‘shish bilan datetime2 bilan bir xil 8-10 bayt
timestamp Har safar qator yaratilganda yoki o‘zgartirilganda yangilanadigan noyob raqamni saqlaydi. Vaqt tamg‘asi qiymati ichki soatga asoslangan va real vaqtga mos kelmaydi. Har bir jadvalda faqat bitta vaqt tamg‘asi o‘zgaruvchisi bo‘lishi mumkin  

Boshqa ma’lumotlar turlari

Ma’lumot turi Tavsif
sql_variant text, ntext va timestamp’dan tashqari turli ma’lumot turlaridagi 8,000 baytgacha ma’lumotni saqlaydi
uniqueidentifier Global noyob identifikatorni (GUID) saqlaydi
xml XML formatidagi ma’lumotlarni saqlaydi. Maksimal 2GB
cursor Ma’lumotlar bazasi amallari uchun ishlatiladigan kursorga havolani saqlaydi
table Keyinchalik qayta ishlash uchun natijalar to‘plamini (result-set) saqlaydi

MS Access ma’lumotlar turlari

Ma’lumot turi Tavsif Xotira hajmi
Text Matn yoki matn va raqamlar kombinatsiyasi uchun foydalaning. Maksimal 255 belgi  
Memo Memo katta hajmdagi matnlar uchun ishlatiladi. 65 536 belgigacha saqlaydi. Eslatma: Memo maydonini saralab bo‘lmaydi. Biroq, ularni qidirish mumkin  
Byte 0 dan 255 gacha bo‘lgan butun sonlarga ruxsat beradi 1 bayt
Integer -32,768 dan 32,767 gacha bo‘lgan butun sonlarga ruxsat beradi 2 bayt
Long -2,147,483,648 dan 2,147,483,647 gacha bo‘lgan butun sonlarga ruxsat beradi 4 bayt
Single Yagona aniqlikdagi o‘nlik kasr (floating-point) son. Ko‘pchilik o‘nlik sonlarni saqlay oladi 4 bayt
Double Ikki karra aniqlikdagi o‘nlik kasr (floating-point) son. Ko‘pchilik o‘nlik sonlarni saqlay oladi 8 bayt
Currency Valyuta uchun foydalaning. Butun dollarning 15 tagacha raqamini, shuningdek, 4 ta kasrni o‘z ichiga oladi. Maslahat: Siz qaysi davlat valyutasidan foydalanishni tanlashingiz mumkin 8 bayt
AutoNumber AutoNumber maydonlari avtomatik ravishda har bir yozuvga o‘z raqamini beradi, odatda 1 dan boshlanadi 4 bayt
Date/Time Sanalar va vaqtlar uchun foydalaning 8 bayt
Yes/No Mantiqiy maydon Ha/Yo‘q, rost/noto‘g‘ri yoki Yoqish/O‘chirish sifatida ko‘rsatilishi mumkin. Kodda True va False konstantalaridan foydalaning (-1 va 0 ga teng). Eslatma: Ha/Yo‘q maydonlarida null qiymatlarga ruxsat berilmaydi 1 bit
Ole Object Rasmlar, audio, video yoki boshqa BLOB’larni (Binary Large Objects) saqlashi mumkin 1GB gacha
Hyperlink Boshqa fayllarga, jumladan veb-sahifalarga havolalarni o‘z ichiga oladi  
Lookup Wizard Variantlar ro‘yxatini kiritish imkonini beradi, so‘ngra ular ochiluvchi ro‘yxatdan tanlanadi 4 bayt



W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!