Fish fan nomi gurux


Download 292.19 Kb.
Sana28.12.2022
Hajmi292.19 Kb.
#1022312
Bog'liq
2-dedline




FISH

Fan nomi

gurux

Ergashboyev Javohir

Sql dasturlash tili

650-19


Sql da jadvallar bilan ishlash
Jadvallarni yaratish.
Jadvallar CREATE TABLE komandasi bilan yaratiladi. Bu komanda qatorlarsiz bo‘sh jadval yaratadi. CREATE TABLE komandasi jadval nomini va jadval o‘zini ma’lum tartibda ko‘rsatilgan ustunlar nomlari ketma – ketligi ta’rifi ko‘rinishida aniqlaydi. U ma’lumotlar tiplari va ustunlar o‘lchovini aniqlaydi. Xar bir jadval juda bo‘lmaganda bitta ustunga ega bo‘lishi kerak.
CREATE TABLE komandasi sintaksisi:
CREATE TABLE
( [()],
[()], ... );
Argument qiymati kattaligi ma’lumot turiga bog‘liqdir. Agar siz maxssus ko‘rsatmasangiz, tizim avtomatik qiymatni o‘rnatadi.
Bundan buyon quyida keltirilgan 3 ta jadvaldan iborat ma’lumotlar bazasini ko‘ramiz.
Jadval Sotuvchilar (Salepeople):



Snum


Sname

City

Comm

11

Peel

London

0.12

12

Serres

San Jose

0.13

14

Motika

London

0.11

SNum – xarbir sotuvchi unikal nomeri,
SName – sotuvchi nomi,
City – sotuvchi adresi ( shaxar ),
Comm – sotuvchilarning o‘nli shakldagi komission foydasi.
Jadval Buyurtmachilar (Customers):

Cnum


Cname

City

Rating

SNum

21

Hoffman

London

100

11

22

Giovanni

Rome

200

13

23

Liu

SanJose

200

12

CNum – xar bir buyurtmachi unikal nomeri,
CName – buyurtmachi nomi,
City – buyurtmachi adresi ( shaxar ),
Rating – buyurtmachining boshqalardan ustunlik darajasini ko‘rsatuvchi kod
( reyting ),
SNum – shu buyurtmachiga tayinlangan sotuvchi nomeri.
Jadval Buyurtma (Orders):



Onum

AMT

Odate

CNum

Snum

38

4723.00

1990/10/05

26

11

310

1309.95

1990/10/06

24

12

ONum – xar bir sotib olish unikal nomeri,
AMT – sotib olish summasi qiymati,
ODate – sotib olish sanasi,
CNum – sotib oluvchi buyurtmachi nomeri,
SNum – sotuvchining nomeri.
Misol uchun sotuvchilar jadvalini yaratishni ko‘rib chiqamiz:
CREATE TABLE Salepeople
( SNum integer,
SName char (10),
City char (10),
Comm decimal );

Jadvallarni o‘chirish.
Jadvalni o‘chirish imkoniga ega bo‘lish uchun, jadval egasi (ya’ni yaratuvchisi) bo‘lishingiz kerak. Faqat bo‘sh jadvalni o‘chirish mumkin. Qatorlarga ega bo‘lgan, to‘ldirilgan jadvalni o‘chirish mumkin emas, ya’ni jadval o‘chirishdan oldin tozalangan bo‘lishi kerak. Jadvalni o‘chirish komandasi quyidagi ko‘rinishga ega:
DROP TABLE < table name >;
Masalan: DROP TABLE Salepeople;
Jadvallarni o‘chirish.
Jadvalni o‘chirish imkoniga ega bo‘lish uchun, jadval egasi (ya’ni yaratuvchisi) bo‘lishingiz kerak. Faqat bo‘sh jadvalni o‘chirish mumkin. Qatorlarga ega bo‘lgan, to‘ldirilgan jadvalni o‘chirish mumkin emas, ya’ni jadval o‘chirishdan oldin tozalangan bo‘lishi kerak. Jadvalni o‘chirish komandasi quyidagi ko‘rinishga ega:
DROP TABLE < table name >;
Masalan: DROP TABLE Salepeople;
Jadvalni yaratilgandan so‘ng o‘zgartirish.
Jadvalni o‘zgartirish uchun ALTER TABLE komandasidan foydalaniladi. Bu komanda jadvalga YAngi ustunlar qo‘shish, ustunlarni o‘chirish, ustunlar kattaligini o‘zgartirish,xamda cheklanishlarni qo‘shish va olib tashlash imkoniyatlariga ega. Bu komanda ANSI standarti qismi emas, shuning uchun xar xil tizimlarda xar xil imkoniyatlarga ega.
Jadvalga ustun qo‘shish uchun komandaning tipik sintaksisi:
ALTER TABLE ADD
;
Masalan:
ALTER TABLE Salepeople ADD Phone CHAR(7);

SQL - dars 3. Jadvallarni yaratish va ularni ma'lumot bilan to'ldirish


Shunday qilib, biz ma'lumotlar turlari bilan tanishdik, endi biz forumimiz uchun jadvallarni yaxshilaymiz. Avval biz ularni tahlil qilamiz. Va keling, foydalanuvchilar jadvalidan boshlaylik. Unda bizda 4 ta ustun bor:
Id_User - butun sonlar, bu int turi, biz uni 10 ta belgidan ajratamiz - int (10).
Ism - Varchar satrining qiymati, uni 20 ta belgi cheklash - Varch (20).
Elektron pochta - Varchaning satr qiymati, uni 50 ta belgi bilan cheklang - varich (50).
Parol - Varchar satrining qiymati, uni 15 belgi bilan cheklang - Varchar (15).
Barcha maydonchalar to'ldirish uchun talab qilinadi, demak, siz NULL turini qo'shishingiz kerak.
Id_user int (10) nol
FARCHAR (20) NOLL YO'Q
Elektron pochta variant (50) NULL
Birinchi ustun, ma'lumotlar bazamiz kontseptual modelidan eslaganingizdek, asosiy kalit (I.E. ning qadriyatlari noyobdir va ular albatta rekordni aniqlaydilar). O'zingizni o'ziga xosligingizni kuzatib borish, lekin oqilona emas. Buning uchun SQL-da maxsus atribut bor - Auto_increment.Ma'lumotlar qo'shish uchun jadvalga kirish paytida ushbu ustunning maksimal qiymatini hisoblab chiqadi, olingan qiymat 1 ga oshadi va uni ustunga kiradi. Shunday qilib, ushbu ustunda noyob raqam avtomatik ravishda yaratiladi va shuning uchun NULL bo'lmasligi ortiqcha. Shunday qilib, biz asosiy asosiy ustunga atributni tayinlaymiz:

FARCHAR (20) NOLL YO'Q


Elektron pochta variant (50) NULL
Parari Varar (15) nol
Endi siz id_user maydonining asosiy kaliti ekanligini ko'rsatishingiz kerak. Buning uchun kalit so'z SQL-da ishlatiladi Birlamchi kalit ()Qavs ichida asosiy maydon nomi ko'rsatilgan. O'zgarishlar:
Id_user int (10) Auto_increment
FARCHAR (20) NOLL YO'Q
Elektron pochta variant (50) NULL
Parari Varar (15) nol
Birlamchi kalit (ID_USER)
Shunday qilib, stol tayyor va uning oxirgi versiyasi shunga o'xshaydi:
Jadval foydalanuvchilarini yarating (
Id_user int (10) Auto_increment,
"Varchar" nomi (20) nol emas,
Elektron pochta orqali (50) NULL,
Parol Varar (15) NULL,
Birlamchi kalit (ID_USER)
);
Endi biz ikkinchi jadval bilan shug'ullanamiz - mavzular (mavzular). Shubhasiz, bizda quyidagi yo'nalishlar bor:

ID_AUTTOR IR (10) null emas


Asosiy kalit (id_topik)
Ammo bizning ma'lumotlar bazamizning modelida ID_AUTTOR maydoni tashqi kalit, i.e. U faqat foydalanuvchilar jadvalida bo'lgan qiymatlarga ega bo'lishi mumkin. Uni SQL-da belgilash uchun kalit so'z bor Tashqi kalit ()qaysi sintaksisga ega:
Xorijiy kalit (hayot_nober__name_nex_nef) Missiyalar_table_name_name_name_name_name (lar);
Biz ID_AUTE tashqi kalit ekanligini ko'rsatamiz:
Id_topik int (10) Auto_increment
Mavzu_Name Virar (100) NULL
ID_AUTTOR IR (10) null emas
Asosiy kalit (id_topik)
Xorijiy kalit (ID_AUTTER) Foydalanuvchilar (ID_User)
Jadval tayyor va uning oxirgi versiyasi quyidagicha ko'rinadi:
Jadval mavzularini yarating (
Id_topik int (10) Auto_increment,
Mavzu_Name Virar (100) nol emas,

Birlamchi kalit (id_topik),


Xorijiy kalit (ID_AUTTER) Foydalanuvchilar (ID_User)
);
So'nggi jadval qoldi - postlar (xabarlar). Bu erda hammasi o'xshash, faqat ikkita tashqi kalit:
Jadval postlarini yarating (
Id_post int (10) Auto_increment,
Xabar matni null emas,
ID_AUTTOR IR (10) nol emas,
Id_topik int (10) nol emas,
Birlamchi kalit (id_post),
Xorijiy kalit (ID_AUT_UTTOR) Foydalanuvchilar (ID_USER),
Xorijiy kalit (ID_TOPIC) Manzillar mavzulari (ID_TOPIC)
);
Iltimos, stolning tashqi kalitlari biroz bo'lishi mumkin va MySQL-ning asosiy kaliti faqat bitta bo'lishi mumkin. Birinchi darsda biz forum ma'lumotlar bazamizni o'chirib tashladik, uni yana yaratish vaqti keldi.
MySQL serverini (Start - MySQL-server 5.1 - MySQL-server 5.1-sonli) ni boshlaymiz, parolni kiriting (forumdan foydalaning) va uchta jadvalni yarating :

Download 292.19 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling