SQL zaxira va tiklash (backup)
Baza — loyihaning eng qimmatli qismi: kod qayta yozilishi mumkin, yo’qolgan ma’lumot esa qaytmaydi. Shuning uchun zaxira (backup) olish — har bir dasturchi bilishi shart bo’lgan odat. Bu darsda SQLite bazasidan nusxa olish va uni tiklashni ko’ramiz.
Eng oddiy zaxira: faylni nusxalash
SQLite’da butun baza bitta fayl (magazin.db). Shuning uchun eng oddiy
zaxira — shu faylning nusxasini boshqa joyga saqlash:
magazin.db → magazin_2026-07-28.db
Sanani nomiga qo’shsangiz, turli kunlardagi nusxalarni ajratasiz. Bu usul sodda va ishonchli.
SQL sifatida eksport: .dump
Bazani matn (SQL buyruqlari) ko’rinishida saqlash ham mumkin. sqlite3
vositasi orqali:
sqlite3 magazin.db .dump > zaxira.sql
zaxira.sql ichida barcha CREATE TABLE va
INSERT buyruqlari bo’ladi — ya’ni bazani noldan tiklash
uchun kerak bo’lgan hamma narsa. DB Browser’da esa: File → Export →
Database to SQL file.
Tiklash (restore)
SQL fayldan tiklash — uni yangi bazada ishga tushirish:
sqlite3 yangi.db < zaxira.sql
Bu zaxira.sql dagi barcha buyruqni bajarib, bazani qayta tiklaydi.
Jonli namuna
Quyida DELETE ni xavfsiz sinab ko’rishingiz mumkin — bu runner har ishga
tushirishda bazani toza holatga qaytaradi:
Haqiqiy bazada esa bunday “bekor qilish” yo’q — shuning uchun zaxira kerak.
Amaliy mashq
Zaxira mantiqini tushuning:
SELECT * FROM mahsulotlar;natijasini ko’ring;DELETE FROM mahsulotlar;yozib bajaring;- yana
SELECTqiling — ma’lumot qaytdimi? - haqiqiy bazada 2-qadamdan keyin nima bo’lardi?
- qog’ozda yozing: zaxirasiz ishlashda eng katta xavf nima?
Bu sahifadagi runner har safar toza bazadan boshlaydi — haqiqiy bazada esa bunday “bekor qilish” tugmasi yo’q.
Qisqacha xulosa
- Zaxira — bazaning yo’qolishdan saqlaydigan nusxasi.
- SQLite’da eng oddiy zaxira —
.dbfaylning nusxasini olish. .dumpbaza tuzilishi va ma’lumotini SQL matnga eksport qiladi.- Tiklash — SQL faylni yangi bazada ishga tushirish.
- Zaxirani boshqa joyda va muntazam saqlang.
Keyingi darsda xavfsizlik — SQL injection — bazani buzg’unchi kiritmadan himoya qilishni ko’ramiz.