test nomli jadval yaratilmoqda, uning ikkita ustu(id va name)ni bor, ularning tipi mos ravishda int, varchar(mysql tiplari). Name ustuni faqat 10 ta simvol qabul qila oladi.
Agar bunday nomli jadval bo‘lsa, xato beradi. Biz buni «if not exists» kalit so‘zi orqali ustiga ochamiz(eski jadval o‘chadi). Undan tashqari keyingi kodda, vaqtinchalik jadval ekanini ham ko‘rsatamiz(temporary). Vaqtinchalik jadval deganda, faqat shu seans uchun yaratilgan jadval tushuniladi. Seans tugatilsa, jadval ham o‘chadi.
1
|
mysql> create temporary table if not exists test(id int, name varchar(12));
|
Keyingilar, ma’lum bir ustunlar bilan bog‘liq bo‘ladi. Agar jadvaldagi ma’lum bir ustun hech qachon bo‘sh bo‘lmasligi lozim bo‘lsa, «NOTNULL» kalit so‘zidan foydalanish kerak, bu berilmasa, odatda bu ustun bo‘sh qiymatlarni ham qabul qilaveradi. Agar bu ustun bo‘sh qoldirilsa, xatolik beradi va ustun to‘latilishi lozimligini eslatadi.
Agar, biror ustunga hech qanday axborot kiritilmasa, uni odatiy biror belgi bilan to‘ldirib qo‘yish xususiyatiga ham mysql ega, «defaul«so‘zi yordamida. Bunda ustun bo‘sh qolmaydi, foydalanuvchi bo‘sh qoldirsa, u odatiy(yaratilishda berib qo‘yilgan) belgi bilan to‘latiladi.
Ko‘p holllarda, jadvallar ro‘yxat sifatida foydalaniladi va dastlabki ustun nomerlanishi kerak bo‘ladi. Buni MySQL ning «auto_increment» kalit so‘zi amalga oshirib beradi. Bu kalit so‘z shu ustunga takrorlanmas qiymatlar beradi. Odatda bu ustun asosiy kalit(primary key) bo‘ladi. Primary key jadvalda bitta bo‘ladi va jadvaldagi axborotlarni identifikatsiya qilish uchun kerak bo‘ladi, undan tashqari boshqa jadvaldagi foreign key bilan bog‘lanadi. YUqoridagilarga misol ko‘ramiz.
1
|
mysql> create temporary table akmx(id int(10) auto_increment, name varchar(10) not null, age smallint(6) default 1990, primary key('id'));
|
Demak, «id» ustun «int» tipida, 10 xonalik raqamlarni qabul qiladi, o‘zi bir tekis oshib boradi(auto_increment) , jadvalning asosiy kaliti(primary key, identifikatsiya ustuni). Undan so‘ng, «name» ustuni «varchar«tipida, 10 ta simvolni qabul qiladi va bo‘sh qiymat bo‘lishi mumkin emas. «Age» ustuni, «smallint» tipida, 6 tagacha simvol qabul qiladi, agar hech qanday qiymat berilmasa «1990» qiymat yozilib ketaveriladi.
Jadval yaratishni boshqa parametrlarini ko‘rib o‘tamiz, «index«(key) kalit so‘zi orqali, tanlangan ustunni indekslash mumkin bo‘ladi. Indekslash axborotlarni tez qidirish uchun foydalaniladi(indekslar haqida boshqa maqolalarda to‘liq berib o‘taman). Jadvalda bir necha, har xil tipdagi ustunlar indekslanishi mumkin.
Keyingisi, «Unique» kalit so‘zi, bu kalit so‘z bilan berilgan ustunga, bir hil ma’lumotlarni kiritish mumkin emas. Kiritilsa, xatolik beradi.
«Foreign key«, boshqa jadvaldagi «primary key» ulanadigan ustunga o‘rnatiladi, shunda ikkita kalitlar bir-biri bilan bog‘lanadi va jadvallar ham mos holda ulanadi.
Yana bir qiziq parametr «check«. Bu orqali jadvalga kiritilayotgan axborotga shart qo‘yish mumkin bo‘ladi. Misol,
1
2
|
mysql> create table akmx1(id int(10), name varchar(10) unique, primary key(id));
mysql> create table akmx2(nomer int(10), son int(10), check(son>0), foreign key(nomer) references akmx1(id));
|
2 ta jadval yaratilmoqda, birinchi jadval «id» ustuni primary key va «name» ustuni takrorlanmas(unikal) qiymatlar uchun, ikkinchi jadvalda «nomer» ustuni foreign key va u birinchi jadvalning «id» ustuni bilan ulanmoqda va «son» ustuni «check» orqali musbat bo‘lishi tekshirilmoqda.
Navbatdagi parametrlar butun jadvalga oiddir:
Do'stlaringiz bilan baham: |