Integer

Ushbu qo'llanma sizni turli xil PostgreSQL butun son turlari, jumladan SMALLINT, INTEGER va BIGINT bilan tanishtiradi.

Butun sonlarni PostgreSQL da saqlash uchun quyidagi son;ar turlaridan birini ishlatishingiz mumkin:

  • SMALLINT

  • INTEGER

  • BIGINT

Quyidagi jadvalda har bir butun son turining spetsifikatsiyasi ko'rsatilgan:

Name
Storage Size
Min
Max

SMALLINT

2 bytes

-32,768

+32,767

INTEGER

4 bytes

-2,147,483,648

+2,147,483,647

BIGINT

8 bytes

-9,223,372,036,854,775,808

+9,223,372,036,854,775,807

Agar qiymatni ruxsat etilgan diapazonlardan tashqarida saqlashga harakat qilsangiz, PostgreSQL xatolik chiqaradi.

MySQL butun sonidan farqli o'laroq, PostgreSQL unsigned integer turlarini ta'minlamaydi.

SMALLINT

SMALLINT (-32,767, 32,767) oralig'idagi har qanday butun sonlarni saqlashi mumkin bo'lgan 2 bayt saqlash hajmini talab qiladi.

SMALLINT turidan odamlarning yoshi, kitob sahifalari soni va hokazolarni saqlash uchun foydalanishingiz mumkin.

Quyidagi bayonot books nomli jadval yaratadi:

CREATE TABLE books (
    book_id SERIAL PRIMARY KEY,
    title VARCHAR (255) NOT NULL,
    pages SMALLINT NOT NULL CHECK (pages > 0)
);

Ushbu misolda title ustuni SMALLINT ustunidir. Sahifalar soni ijobiy boʻlishi kerakligi sababli, biz ushbu qoidani qoʻllash uchun CHECK cheklovini qoʻshdik.

INTEGER

INTEGER butun son turlari orasida eng keng tarqalgan tanlovdir, chunki u saqlash hajmi, diapazoni va unumdorligi o'rtasidagi eng yaxshi muvozanatni ta'minlaydi.

INTEGER turi raqamlarni (-2,147,483,648, 2,147,483,647) oralig'ida saqlashi mumkin bo'lgan 4 bayt saqlash hajmini talab qiladi.

Quyidagi misol sifatida shahar yoki hatto mamlakat aholisi kabi juda katta butun sonlarni saqlaydigan ustun uchun INTEGER turidan foydalanishingiz mumkin:

CREATE TABLE cities (
    city_id serial PRIMARY KEY,
    city_name VARCHAR (255) NOT NULL,
    population INT NOT NULL CHECK (population >= 0)
);

E'tibor bering, INT INTEGER so'zining sinonimidir.

BIGINT

Agar siz INTEGER tipidagi diapazondan tashqarida bo'lgan butun sonlarni saqlamoqchi bo'lsangiz, BIGINT turidan foydalanishingiz mumkin.

BIGINT turi har qanday raqamni (-9,223,372,036,854,775,808,+9,223,372,036,854,775,807) oralig'ida saqlashi mumkin bo'lgan 8 bayt hajmli saqlash hajmini talab qiladi.

BIGINT turidan foydalanish nafaqat koʻp xotirani, shu bilan birga, ma'lumotlar bazasining ishlashini pasaytiradi, shuning uchun siz uni ishlatish uchun yaxshi sababga ega bo'lishingiz kerak.

Xulosa

  • Ma'lumotlar bazasida butun sonlarni saqlash uchun SMALLINT, INT va BIGINT ma'lumotlar turlaridan foydalaning.

© postgresqltutorial.com

Last updated