SQL da ma'lumotlarni o'chirish (DELETE)
SQL (Structured Query Language) — bu ma'lumotlar bazasini boshqarish va manipulyatsiya qilish uchun ishlatiladigan standart til. DELETE operatori SQL'da ma'lumotlar bazasidagi bir yoki bir nechta yozuvlarni o'chirish uchun ishlatiladi. Ushbu qo'llanmada DELETE operatoridan foydalanishning barcha jihatlari batafsil ko'rib chiqiladi.
DELETE Operatorining Sintaksisi
Asosiy sintaksis quyidagicha:
jadval_nomi: Ma'lumotlarni o'chirmoqchi bo'lgan jadval nomi.
shart: Qaysi yozuvlarni o'chirish kerakligini aniqlovchi shart. Agar WHERE sharti berilmasa, jadvaldagi barcha yozuvlar o'chiriladi.
DELETE Operatoridan Foydalanish
Misol 1: Bitta Yozuvni O'chirish
Faraz qilaylik, bizda talabalar nomli jadval bor:
1
Alisher
20
Informatika
2
Gulnora
22
Matematika
3
Temur
21
Fizika
Vazifa: id
raqami 2 bo'lgan talabani o'chirish.
SQL so'rovi:
Natija: id = 2
bo'lgan yozuv o'chiriladi.
Misol 2: Bir Necha Yozuvni O'chirish
Vazifa: Yoshi 21 dan kichik bo'lgan barcha talabalarni o'chirish.
SQL so'rovi:
Natija: yosh < 21
shartiga mos keladigan barcha yozuvlar o'chiriladi.
Misol 3: Barcha Yozuvlarni O'chirish
Vazifa: Talabalar jadvalidagi barcha yozuvlarni o'chirish.
SQL so'rovi:
yoki
Natija: Jadvaldagi barcha yozuvlar o'chiriladi, lekin jadvalning o'zi va uning tuzilishi saqlanib qoladi.
Eslatma: Agar jadvaldagi barcha yozuvlarni o'chirmoqchi bo'lsangiz, TRUNCATE operatoridan foydalanish maqsadga muvofiq bo'lishi mumkin (quyida batafsil).
DELETE va TRUNCATE Operatorlari O'rtasidagi Farq
DELETE:
Jadvaldagi yozuvlarni o'chiradi.
Har bir o'chirilgan yozuv uchun tranzaksiya jurnaliga (transaction log) yozuv qo'shadi.
WHERE sharti bilan aniq yozuvlarni o'chirish mumkin.
Tranzaksiya ichida foydalanish mumkin.
TRUNCATE:
Jadvaldagi barcha yozuvlarni tezkor o'chiradi.
Tranzaksiya jurnalida minimal yozuv hosil qiladi.
WHERE shartini qo'llab-quvvatlamaydi.
Jadvalning identifikatorlarini (IDENTITY) qayta boshlashi mumkin.
Ba'zi tizimlarda tranzaksiya ichida foydalanish cheklangan.
Misol:
Natija: talabalar
jadvalidagi barcha yozuvlar o'chiriladi.
DELETE Operatorining Xavfsizligi
Zaxira Nusxasi (Backup): Ma'lumotlarni o'chirishdan oldin har doim zaxira nusxasini yarating.
WHERE Sharti: Agar WHERE shartini unutib qo'ysangiz, barcha yozuvlar o'chirilishi mumkin. Shuning uchun DELETE operatoridan foydalanganda juda ehtiyot bo'lish kerak.
Tranzaksiyalar: Katta o'chirish operatsiyalarini tranzaksiyalar ichida bajarish tavsiya etiladi, bu qaytarish (ROLLBACK) imkonini beradi.
Misol: Tranzaksiya bilan ishlash
DELETE Operatorida JOIN Ishlatish
Ba'zi SQL tizimlarida (masalan, SQL Server) DELETE operatorida JOIN ishlatish mumkin. Bu bir nechta jadvalga asoslangan holda yozuvlarni o'chirishga imkon beradi.
Misol:
Natija: Fakulteti "Matematika" bo'lgan talabalar o'chiriladi.
DELETE Operatorida SUBQUERY Ishlatish
Misol:
Natija: Fakulteti "Fizika" bo'lgan talabalar o'chiriladi.
DELETE Operatorining Maxsus Xollari
LIMIT: Ba'zi SQL tizimlarida (masalan, MySQL) DELETE operatorida LIMIT ishlatish mumkin, bu ma'lum miqdordagi yozuvlarni o'chirishga imkon beradi.
Misol:
Natija: Fakulteti "Informatika" bo'lgan 2 ta talabani o'chiradi.
DELETE Operatorini Ishlatishdagi Eng Yaxshi Amaliyotlar
Zaxira Nusxasi (Backup): O'chirish operatsiyalaridan oldin ma'lumotlarning zaxira nusxasini yarating.
Tranzaksiyalardan Foydalanish: Katta miqdordagi yozuvlarni o'chirishda tranzaksiyalardan foydalaning.
Shartlarni Tekshirish: WHERE shartini bir necha bor tekshiring, to'g'ri yozuvlarni o'chirayotganingizga ishonch hosil qiling.
Test Muhitida Sinab Ko'rish: Amaliyotlarni avval test ma'lumotlar bazasida sinab ko'ring.
Loglash va Monitoring: O'chirish operatsiyalarini loglarda qayd eting va monitoring qiling.
DELETE Operatorini Ishlatishda Ko'p Uchraydigan Xatolar
WHERE Shartini Unutish: Barcha yozuvlarni tasodifan o'chirishga olib kelishi mumkin.
Sintaksis Xatolari: Qavslar, vergullar yoki operatorlarni noto'g'ri ishlatish natijasida xatolar yuzaga kelishi mumkin.
Ruxsatlar Masalasi: O'chirish uchun yetarli ruxsatlarga ega bo'lmaslik.
DELETE Operatorining Qo'shimcha Misollari
Misol 1: Sana Bo'yicha O'chirish
Misol 2: NULL Qiymatli Yozuvlarni O'chirish
Misol 3: Oraliq Qiymatlar Bo'yicha O'chirish
Xulosa
DELETE operatori SQL'da ma'lumotlarni o'chirish uchun asosiy vositadir. Uni ehtiyotkorlik bilan va to'g'ri shartlar bilan ishlatish muhimdir. Har doim ma'lumotlaringizni zaxiralashni unutmang va tranzaksiyalardan foydalaning.
Qo'shimcha Resurslar
SQL Rasmiy Dokumentatsiyasi: DELETE operatori haqida batafsil ma'lumot.
Ma'lumotlar Bazasi Tizimi Qo'llanmalari: MySQL, PostgreSQL, SQL Server va boshqalar uchun maxsus qo'llanmalar.
Last updated