Darsliklar SQL DELETE, Ma’lumotlarni o’chirish

SQL SQL DELETE, Ma’lumotlarni o’chirish

DELETE — jadvaldan ma’lumotni o’chiradigan buyruq. Foydalanuvchi hisobini o’chirganda, eskirgan yozuvni tozalaganda yoki bekor qilingan buyurtmani olib tashlaganda — bularning bari DELETE orqali amalga oshiriladi. UPDATE kabi, u ham WHERE bilan juda ehtiyot ishlatilishi kerak.

DELETEjadvaldan qatorlarni (yozuvlarni) o’chiradigan SQL buyrug’i. U WHERE bilan qaysi qatorlarni o’chirishni belgilaydi.

Boshlang’ich jadval

Quyidagi foydalanuvchilar jadvali bilan ishlaymiz:

id ism yosh shahar
1 Farrux 26 Toshkent
2 Master Sherkulov 30 Toshkent
3 Aziz 22 Samarqand

Bitta qatorni o’chirish

DELETE da WHERE qaysi qatorni o’chirishni belgilaydi:

DELETE FROM foydalanuvchilar
WHERE id = 3;

Natijada Aziz o’chirildi:

id ism yosh shahar
1 Farrux 26 Toshkent
2 Master Sherkulov 30 Toshkent

WHERE id = 3 — faqat uchinchi qatorni belgiladi va u o’chirildi. Boshqa qatorlar saqlanib qoldi.

Shart bo’yicha o’chirish

WHERE bilan ma’lum shartga mos barcha qatorlarni o’chirish mumkin. Masalan, yoshi 25 dan kichiklar:

DELETE FROM foydalanuvchilar
WHERE yosh < 25;

Bu shartga mos barcha qatorlar o’chiriladi — natijada faqat yoshi 25 dan katta foydalanuvchilar qoladi.

WHERE ning HAYOTIY ahamiyati

Bu — eng muhim ogohlantirish. WHERE ni unutsangiz, DELETE butun jadvaldagi barcha ma’lumotni o’chiradi:

DELETE FROM foydalanuvchilar;

Natija — halokatli: jadval to’liq bo’shab qoladi:

id ism yosh shahar

WHERE yo’qligi uchun barcha foydalanuvchilar o’chib ketdi. Shuning uchun DELETE yozganda WHERE ni doim tekshiring. Amaliy maslahat: o’chirishdan oldin bir xil shart bilan SELECT bajarib, aynan qaysi qatorlar o’chishini tekshiring.

DELETE va TRUNCATE farqi

Butun jadvalni tozalashning ikki usuli bor. Ularni jadvalda solishtiramiz:

Buyruq Vazifasi Tezlik
DELETE FROM jadval barcha qatorlarni o’chiradi sekinroq
TRUNCATE TABLE jadval jadvalni tez tozalaydi tezroq

TRUNCATE butun jadvalni tez tozalaydi, ammo WHERE bilan ishlamaydi va qaytarib bo’lmaydi. Ma’lum qatorlar uchun DELETE, butun jadvalni tozalash uchun TRUNCATE ishlatiladi.

Xulosa

Bu bo’limda DELETE bilan bitta va shartli qatorlarni o’chirishni, WHERE ni unutish xavfini va TRUNCATE bilan farqini ko’rib chiqdik. Eng muhim eslatma: DELETE da WHERE ni doim tekshiring. Keyingi darsda AND, OR, NOT operatorlariga o’tamiz.