Jadval yaratish

All lectures for UZ purposes
Daraja, Dars
Mavjud

Jadvallarni mazmunli yaratish

Oldingi darslarda biz jadvallarni yaratish uchun so'rovlar bilan biroz tanishgan edik, endi bunaqa masalani chuqurroq ko'rib chiqamiz.

Jadval yaratish Java-dagi klass e'lon qilishga juda o'xshaydi va quyidagi namunaga ega:

CREATE TABLE table_name ( column1 datatype, column2 datatype, column3 datatype, ... );

Keling bir misol yozamiz, unda foydalanuvchilar jadvallari yaratamiz:

CREATE TABLE user ( id INT, name VARCHAR(100), level INT, created_date DATE );

Bu juda oddiy ko'rinadi, chunki bu yerda ko'plab nozik jihatlar ko'rsatilmagan.

Birinchidan, jadvalda qo'shimcha sozlamalar bo'lishi mumkin.

Ikkinchidan, har bir ustunda qo'shimcha sozlamalar bo'lishi mumkin.

Va biz ustun yaratish sozlamalaridan boshlaymiz.

Jadvalda kalitlar

Jadval ustunlari nomi va ma'lumot turi bilan bir qatorda quyidagi sozlamalarga ega bo'lishi mumkin:

PRIMARY KEY Ustun jadvalning kaliti hisoblanadi
UNIQUE KEY Ustun qiymatlari yagona bo'lishi kerak
DEFAULT value Standart qiymat
NOT NULL NULL qiymatni qabul qilishni taqiqlash
AUTO_INCREMENT SQL-server yangi yozuv qo'shilganda qiymatni avtomatik oshiradi
GENERATED Hisoblangan maydon
STORAGE Ma'lumotlarni qayerda saqlash: diskda yoki xotirada
COMMENT Ustunga izoh, masalan, mahalliy tildagi nom

Quyida ularning ba'zilarini ko'rib chiqamiz.

Birinchidan, bu PRIMARY KEY.

Ko'pincha bu alohida kolonna bo'lib, id nomi va INT turiga ega. Bu jadvalning "asosiy kaliti" deb ataladi va uning barcha qatorlari bu kalitning noyob qiymatlariga ega. Asosan, u boshqa jadvallar bizning jadvalimizga murojaat qilishi va uning ma'lum bir yozuviga ishora qilishi uchun ishlatiladi.

Ikkinchidan, bu UNIQUE KEY.

Bu bir jihatdan PRIMARY KEY ga o'xshaydi, ammo ma'nosi butunlay boshqacha. Agar ustunda UNIQUE atributi bo'lsa, ushbu ustunning barcha qiymatlari noyob bo'lishi kerak. UNIQUE KEY va PRIMARY KEY ning yaxshi misoli - pasport stolida odamlar ro'yxati.

Soliq raqami - bu PRIMARY KEY, u boshqa jadvallardan kerakli odamga ishora qilishni osonlashtirish uchun ishlatiladi.

Pasport raqami - bu UNIQUE KEY. Ikki kishi bir xil pasport raqamiga ega bo'lishi mumkin emas. Biroq, pasport raqamini o'zgartirish mumkin. Masalan, familiya o'zgartirganda. Ammo soliq raqami siz bilan abadiy qoladi. Bu PRIMARY KEY ning asosiy vazifasi. PRIMARY KEY ni ko'rsatishda so'rov namunasi:

CREATE TABLE user ( id INT, name VARCHAR(100), level INT, created_date DATE, PRIMARY KEY (id) );

Ma'lumot turi sozlamalari

Kamroq muhim, biroq foydali atributlar mavjud.

DEFAULT qiymat

Jadvalga ma'lumot kiritishda (yangi qator qo'shishda) ba'zi ustunlarning qiymatlarini ko'rsatmasligi mumkin, agar ular uchun standart qiymat mavjud bo'lsa. Bu holda, SQL-server ustun qiymatini o'zi belgilaydi.

MySQL ning 8-versiyasidan boshlab standart qiymat sifatida ifoda ko'rsatish mumkin.

NOT NULL

Agar jadval yaratishda ustun uchun NOT NULL atributi ko'rsatilgan bo'lsa, SQL-server bu ustunga NULL qiymatni saqlash mumkin emasligini tekshiradi. Har qanday ustun uchun o'zboshimchalik bilan NULL qiymat bo'lishi mumkin, hatto INT turiga ega ustunda ham. Bu Java dasturchisi uchun biroz tushunarsiz.

AUTO_INCREMENT

Bu odatda id ustunlari uchun ishlatiladi. Jadvalga yangi qator qo'shayotganda, SQL-server bu yozuvga id ni o'zi tayinlasin degan istak bo'ladi. Ko'p hollarda serverda jadvalda qancha qator borligini bilib olish yaxshiroq. Ayniqsa, bir xil SQL-serverga turli mijozlardan so'rovlar kelganda. Bu aynan AUTO_INCREMENT atributi qiladi. Yangi qator qo'shishda biz id uchun hech narsa bermaymiz va SQL-server bu yozuv uchun kerakli ID ni o'zi belgilaydi: bu faqat mavjud oxirgi yozuvning ID ni olib, uni 1 ga oshiradi. Bu atribut faqat butun va haqiqiy sonlar turlari bilan ishlatilishi mumkin. Va, albatta, bunday jadvalni yaratish misolini qilaylik:

CREATE TABLE user ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(100) NOT NULL, level INT DEFAULT 1, created_date DATE NOT NULL, PRIMARY KEY (id) );
Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION