PHP-skript yordamida ma’lumotlar bazasidan kerakli axborotni olish uchun avvalo uni yaratish zarur. Bu yerda bizga MySQL relatsion ma’lumotlar bazasini boshqarish tizimi kerak bo’ladi. MySQL server tomonida ishlaydigan skript tillari yordamida bazada saqlanayotgam ma’lumotlarga kirish imkonini beradi.
Ko’pgina xostinglarda PHP va MySQL o’rnatilgan, sizning xostingiz ham ular bilan jihozlangan bo’lsa, o’zingizning ma’lumotlar bazasiga asoslangan birinchi saytingizni internetda nashr etishingiz uchun server sotib olishingiz shart emas. Lekin, sizda bunday imkoniyat bo’lmasa, PHP va MySQL ni mustaqil o’rnatib, dunyoga o’z saytingizni namoyish qilishdan avval uni o’z shaxsiy, ya’ni, xususiy veb-serveringizda ishlashini tekshirib olishingiz mumkin, bunda sizga PHP va MySQL yordam beradi.
Bunday xususiy veb-serverni Windows tizimida ishga tushirish uchun ko’pgina dasturiy paketlar mavjud: XAMPP, MAMP, Denver, Open Server va b.
PHP skript ko‘rinishida MySQL uchun xususiy mijoz ilovasini yaratishdan avval biz phpMyAdmin mijoz ilovasidan foydalanamiz. MySQL ma’lumotlar bazasi serveriga PHP tilida yozilgan phpMyAdmin ilovasi yordamida ulanish mumkin. U SQL so‘rovlarni kiritish va natijalar olish imkonini beradi.
MySQL ma’lumotlar bazasi serverini boshqarish uchun SQL (Structured Query Language, odatda "eskyuel" deyiladi) ma’nosi Tarkiblangan so‘rovlar tili buyruqlaridan foydalaniladi. Bu relyatsion MB larida ishlashga imkon beradigan tildir. Demak, MySQL - ma’lumotlar bazasi serveri, SQL tili yordamida siz bu ma’lumotlar bazasi bilan muloqot qilasiz.
Endi ma’lumotlar bazasida axborot qanday saqlanishini batafsil ko‘rib chiqaylik. Ma’lumotlar bazasi o‘z ichiga bitta yoki bir nechta jadvallarni oladi. Ishni joke (hazil) nomli jadvalni yaratishdan boshlaymiz. Ma’lumotlar bazasidagi ixtiyoriy jadval bir necha ustun yoki maydondan iborat bo‘ladi. joke jadvali uchta ustundan iborat bo‘lsin: id, joketext, jokedate (1-rasm).
Birinchi ustun– id ustuni har bir hazilning unikal (takrorlanmaydigan) nomeri, ikkinchi ustun – joketext ustunida hazillar matni saqlanadi, uchinchi ustun – jokedate ustunida hazillarni ma’lumotlar bazasiga kiritilgan sanasi saqlanadi.
1-rasm. Hazillar matnini o‘z ichiga olgan ma’lumotlar bazasi jadvali
Bu jadvalni yaratish uchun quyidagi buyruqlarni bajarish kerak:
CREATE TABLE joke (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
joketext TEXT,
jokedate DATE NOT NULL
) DEFAULT CHARACTER SET utf8 ENGINE=InnoDB
Har bir satrni alohida ko‘rib chiqaylik. Birinchi satr joke nomli jadvalni yaratadi. Ochiluvchi yumaloq qavs jadvaldagi ustunlar ro‘yhatini boshlanishini bildiradi.
Ikkinchi satr id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, bizga turi integer (INT) bo‘lgan butun sonlarni saqlash uchun id ustuni kerakligini bildiradi. Satrning qolgan qismlarida ustunning qo‘shimcha xarakteristikalari keltiriladi:
jadvalda satr yaratilganda, unga mos ustun bo‘sh bo‘lmasligi kerak ((NOT
NULL);
yozuv qo‘sha turib ustunning qiymati ko‘rsatilmasa, u holda MySQL avtomatik ravishda jadvaldagi eng katta qiymatni birga oshirib son tanlaydi (AUTO_lNCREMENT);
jadvaldagi bu ustun unikal (takrorlanmaydigan) identifikator rolini o‘ynagani uchun undagi barcha yozuvlar unikal bo‘lishi kerak (PRIMARY KEY).
joketext TEXT - uchinchi satr (TEXT) matndan iborat joketext ustuni kerakligini bildiradi.
jokedate DATE NOT NULL
To‘rtinchi satr oxirgi jokedate ustunini bildiradi, unda (DATE) sana ma’lumotlari saqlanadi, u ham to‘ldirilgan bo‘lishi kerak, ya’ni bo‘sh bo‘lmasligi kerak.
) DEFAULT CHARACTER SET utf8
Bu satrdagi yopiluvchi yumaloq qavs jadvalda ustunlar ro‘yhati tugaganligini bildiradi. DEFAULT CHARACTER SET utf8 MySQL ga bu jadvaldagi matn UTF-8 da kodlangan bo‘lishi kerakligini xabar beradi. Bu veb-sahifalarni kodlashning eng keng tarqalgan usuli hisoblanadi.
ENGINE=InnoDB
satrdan MySQL jadval yaratishda ma’lumotlarni saqlashda qaysi formatdan
foydalanishi kerakligi aniqlaydi, InnoDB formati hozirgi kunda sayt yaratishda ma’lumotlar bazasi uchun eng yaxshi format hisoblanadi, agar bu format ko‘rsatilmasa MySQL eski MyISAM formatini beradi.
Bu jadvalning haqiqatan ham yaratilganligiga ishonch hosil qilish uchun SQL-so‘rovni kiritish oynasida quyidagi buyruqni kiritamiz: SHOW TABLES va OK tugmasini bosamiz. phpMyAdmin ilovasi 2-rasmdagi natijani chiqaradi. Bu sizning ijdb nomli bazangizdagi barcha jadvallar ro‘yhati, unda faqat bitta biz hozirgina yaratgan joke jadvali bor.
2-rasm. phpMyAdmin mavjud ma’lumotlar bazasidagi jadvallar ro‘yhatini chiqarib berdi
Jadvalni yaratishni ko‘rib chiqdik, endi uni to‘ldirish, ya’ni ma’lumotlar kiritish kerak. Buning uchun INSERT buyrug‘idan foydalaniladi. U ikki ko‘rinishda bo‘ladi:
INSERT INTO jadval nomi SET
1- ustun nomi = 1- ustun qiymati,
2- ustun nomi = 2- ustun qiymati,
¼
yoki
INSERT INTO jadval nomi
(1- ustun nomi, 2- ustun nomi, ...)
VALUES (1- ustun qiymati, 2- ustun qiymati, ...)
Jadvalga hazil qo‘shish uchun xohlagan buyruqdan foydalanish mumkin.
INSERT INTO joke SET
joketext = "Nima uchun jo’ja yo’lni kesib o’tdi? Yo’lning narigi tomoniga o’tish uchun!",
jokedate = "2012-04-01"
ёки
INSERT INTO joke
(joketext, jokedate) VALUES (
" Nima uchun jo’ja yo’lni kesib o’tdi? Yo’lning narigi tomoniga o’tish uchun!",
"2012-04-01")
Endi jadvaldan ma’lumotlarni olishni ko‘raylik. Buning uchun SELECT buyrug‘idan foydalaniladi. Quyidagi buyruq joke jadvalida saqlanadigan barcha ma’lumotlarni chiqarib beradi:
SELECT * FROM joke
Bu so’rovni “joke dan hammasini tanlang (yoki oling)” deb tarjima qilsa bo’ladi. Bu so’rov natijasi quyidagicha bo’ladi:
3-rasm. phpMyAdmin joke jadvalidagi barcha ma’lumotlarni chiqarib beradi
MySQL dan faqat id va jokedate ustunlarini chiqarish so’rovi quyidagicha bo’ladi: SELECT id, jokedate FROM joke
So’rov natijasi quyidagicha:
Natijalar sonini, masalan, joke jadvalidagi hazillar sonini bilish uchun COUNT fuksiyasidan foydalaniladi: SELECT COUNT(*) FROM joke
So’rov natijasi quyidagicha:
Demak, joke jadvalida faqat bitta hazil bor.
REJA:
PHP va MySQL dasturiy paketlari haqida
MySQL - ma’lumotlar bazasi serverida axborotning saqlanishi
MySQL - ma’lumotlar bazasi serverida jadval yaratish
MySQL - ma’lumotlar bazasi serverida so’rov yaratish
Do'stlaringiz bilan baham: |