3.2 phpMyAdmin va birinchi jadval¶
β¬ οΈ Oldingi: 3.1 Ma'lumotlar bazasi nima va nega kerak? Β· π README Β· Keyingi: 3.3 SQL asoslari β ma'lumot bilan ishlash β‘οΈ
phpMyAdmin β bu MySQL bazasini ko'rinadigan, sichqoncha bilan boshqariladigan vosita. U ham XAMPP bilan birga keladi. U yordamida baza va jadvallarni kod yozmasdan, vizual yaratish mumkin β bu boshlovchilar uchun ideal boshlanish.
phpMyAdmin'ni ochish¶
- XAMPP Control Panel'da Apache va MySQL ikkalasini ham ishga tushiring ("Start" tugmasi, ikkalasi ham yashil bo'lsin).
- Brauzerda oching:
http://localhost/phpmyadmin - phpMyAdmin sahifasi ochiladi β chap tomonda bazalar ro'yxati ko'rinadi.
Baza yaratish¶
- Yuqori menyudan "Databases" (Ma'lumotlar bazalari) bo'limiga o'ting.
- "Create database" maydoniga baza nomini yozing, masalan:
maktab. - Yonidagi tanlovni
utf8mb4_general_ciqoldiring (bu o'zbekcha harflar va emoji to'g'ri saqlanishini ta'minlaydi). - "Create" tugmasini bosing.
Tabriklaymiz β maktab degan bo'sh bazangiz tayyor. Endi unga jadval qo'shamiz.
Jadval yaratish¶
- Chap tomondan yangi yaratgan
maktabbazasini bosing. - "Create table" qismida jadval nomini yozing:
talabalar, ustunlar soni (Number of columns): 4, "Create" bosing. - Endi 4 ta ustunni belgilaymiz:
| Ustun nomi (Name) | Turi (Type) | Uzunlik/qiymat | Qo'shimcha |
|---|---|---|---|
id |
INT | β | "A_I" (Auto Increment) belgilang + Primary kalit |
ism |
VARCHAR | 100 | β |
yosh |
INT | β | β |
shahar |
VARCHAR | 50 | β |
- "Save" tugmasini bosing.
Ustun turlari haqida qisqacha:
- INT β butun son (id, yosh kabi).
- VARCHAR β qisqa matn (ism, shahar). Yonidagi son (100) β eng ko'p necha belgi sig'ishini bildiradi.
- TEXT β uzun matn (maqola, izoh kabi). (Bu jadvalda ishlatmadik, lekin bilib qo'ying.)
- DATE β sana (2024-05-20 ko'rinishida).
id ustuni haqida muhim narsa:
- AUTO_INCREMENT (A_I) β "avtomatik o'sish". Har yangi qator qo'shilganda id o'zi 1, 2, 3... deb ortadi. Siz id haqida o'ylashingiz shart emas β baza o'zi beradi.
- Primary kalit (PRIMARY KEY) β bu ustun har bir qatorni noyob qiladigan "asosiy kalit". id odatda primary kalit bo'ladi.
Quyidagi diagramma jadvalning asosiy qismlarini ko'rsatadi β ustun (vertikal), qator (gorizontal) va har qatorni noyob qiladigan primary kalit:
Ma'lumot qo'shish (vizual)¶
- Jadval ochilgach, yuqoridan "Insert" bo'limiga o'ting.
ism,yosh,shaharmaydonlarini to'ldiring (idni bo'sh qoldiring β u avtomatik to'ladi).- "Go" bosing.
- "Browse" bo'limiga o'tib, qo'shilgan qatorni ko'ring.
Bir nechta talaba qo'shing. Endi sizda haqiqiy, diskda saqlanadigan ma'lumot bor β sahifani yangilasangiz ham, kompyuterni o'chirsangiz ham, u joyida qoladi!
phpMyAdmin β qulay boshlanish, lekin haqiqiy dasturlarda ma'lumotni kod orqali qo'shamiz va o'qiymiz. Buning uchun esa MySQL bilan "gaplashish tili" β SQL ni o'rganishimiz kerak. Keyingi bo'limda aynan shu.
Mashqlar¶
Oson
1. phpMyAdmin'ni oching va maktab bazasini yarating.
2. talabalar jadvalini yuqoridagi 4 ustun bilan yarating.
3. "Insert" orqali 3 ta talaba qo'shing.
4. "Browse" orqali qatorlarni ko'ring.
5. Yangi shahar qatorli talaba qo'shib, id avtomatik ortishini kuzating.
O'rta
6. mahsulotlar degan yangi jadval yarating: id, nom (VARCHAR), narx (INT), soni (INT).
7. mahsulotlarga 5 ta mahsulot qo'shing.
8. Bir qatorni "Edit" (tahrirlash) orqali o'zgartiring (masalan, narxini).
9. Bir qatorni "Delete" orqali o'chiring va natijani ko'ring.
Qiyin
10. kitoblar jadvali yarating: id, nom, muallif, yil (INT), mavjud (bu yerda turini TINYINT qiling β 1 yoki 0, ya'ni ha/yo'q). Bir nechta kitob qo'shing.
11. talabalar jadvaliga email (VARCHAR) ustunini keyinroq qo'shing ("Structure" bo'limidan), mavjud qatorlarga email kiriting.
Yechim β 10 (kitoblar jadvali)
phpMyAdmin'da vizual yaratasiz, lekin "ortida" quyidagi SQL ishlaydi (uni "SQL" bo'limida ham bajarish mumkin):
CREATE TABLE kitoblar (
id INT AUTO_INCREMENT PRIMARY KEY,
nom VARCHAR(150),
muallif VARCHAR(100),
yil INT,
mavjud TINYINT -- 1 = bor, 0 = yo'q
);
INSERT INTO kitoblar (nom, muallif, yil, mavjud) VALUES
('O''tkan kunlar', 'Abdulla Qodiriy', 1925, 1),
('Sarob', 'Abdulla Qahhor', 1943, 0);
TINYINTnega "ha/yo'q" uchun? MySQL'da alohida "boolean" tur yo'q β odatdaTINYINTishlatiladi:1(ha/true) yoki0(yo'q/false). SQL ichida matnda'ni ikki marta ('') yozib "qochiramiz" (O''tkanβO'tkan).
Yechim β 11 (ustun qo'shish β ALTER TABLE)
"Structure" bo'limidan vizual qo'shasiz; SQL ko'rinishi:
-- Yangi ustun qo'shish:
ALTER TABLE talabalar ADD email VARCHAR(150);
-- Mavjud qatorlarga email kiritish:
UPDATE talabalar SET email = 'ali@mail.uz' WHERE id = 1;
UPDATE talabalar SET email = 'vali@mail.uz' WHERE id = 2;
ALTER TABLE ... ADD β mavjud jadvalga yangi ustun qo'shadi. Diqqat: yangi ustun avval bo'sh (NULL) bo'ladi β keyin UPDATE bilan (har doim WHERE bilan!) to'ldiramiz.