JavaRush /Kurslar /All lectures for UZ purposes /Jadvaldagi ma'lumotlarni o'chirish

Jadvaldagi ma'lumotlarni o'chirish

All lectures for UZ purposes
Daraja, Dars
Mavjud

5.1 DELETE FROM operatori

SQLda ma'lumotlarni o'chirish juda oson. Hammasini juda tez o'chirib tashlashing mumkin, va hech kimdan hech qanday tasdiq so'ralmaydi.

Eng oddiy stsenariydan boshlaymiz: jadvaldagi bitta qatorni qanday o'chirish mumkin.

Bu stsenariyni sen ko'pincha uchratasan, odatda bu qandaydir aniq bir yozuvni o'chirish, va standart so'rov odatda quyidagicha bo'ladi:


DELETE FROM jadval  
WHERE id = 133;
        

Bu yagona so'rov, bunda ustunlar nomlarini ko'rsatish shart emas: axir ma'lumotlar qatorlar bilan darhol o'chiriladi.

Ikkinchi stsenariy – bu id ro'yxati kiritilgan qatorlarni o'chirish, bunda hamma narsa juda oddiy:


DELETE FROM jadval  
WHERE id IN (1, 2, 3, …);
        

Uchinchi stsenariy – bu ma'lum bir shartga mos keladigan qatorlarni o'chirish:


DELETE FROM jadval  
WHERE shart;
        

Aytaylik, biz barcha dasturchilarimizni ishdan bo'shatmoqchimiz, unda quyidagi so'rovni yozish kerak:


DELETE FROM employee  
WHERE occupation = 'Dasturchi';
        

Va nihoyat, agar sen barcha yozuvlarni o'chirib tashlamoqchi bo'lsang, bunday so'rov yozishing mumkin:


DELETE FROM jadval 

Barcha yozuvlarni jadvaldan o'chirish uchun bunday oddiy so'rov yetarli. Aytmoqchi, bunda hech qanday Ctrl+Z bo'lmaydi. Yozuvlar qaytarib tiklash imkoniyatisiz o'chiriladi va bas. Shuning uchun backuplar qil, va tez-tez.

5.2 Hammasini umuman o'chiramiz

Tezda o'chirish uchun (foydalanuvchilarga bosh og'rig'i qo'shish uchun) SQLda yana bir nechta buyruqlar mavjud.

Jadvaldagi barcha ma'lumotlarni qanday tezda o'chirish mumkin? Operator TRUNCATEdan foydalangan holda:


TRUNCATE TABLE jadval
        

Jadval nomidagi bitta xato – va bir necha kun davomida ma'lumotlarni tiklashga kafolat beriladi. Sen ma'lumot bazalari admini emasligingdan xursand bo'l.

Agar jadvaldagi nafaqat ma'lumotlarni, balki o'zini ham o'chirish kerak bo'lsa, buni amalga oshirish uchun operator DROP mavjud:


DROP TABLE jadval
        

Shuningdek, ma'lumot bazalari sxemalari bilan ham shunday variantlar mavjud. Agar sen o'zi bazani o'chirmoqchi bo'lsang:


DROP SCHEMA baza_danlar
        

yoki:


DROP DATABASE baza_danlar
        

Bundan tashqari, DROP yordamida quyidagilarni o'chirish mumkin:

  • EVENT
  • FUNCTION
  • PROCEDURE
  • INDEX
  • VIEW
  • TRIGGER

Ma'lumotlarni o'chirish bilan bog'liq bo'lgan bir nechta qiziqarli voqealar:

Kun muvaffaqiyatsizligi. GitLab 300 GB mijozlar ma'lumotlarini sisadmin xatosi tufayli o'chirib tashladi

sudo rm -rf, yoki GitLab.com ma'lumot bazasi hodisasining xronikasi 2017/01/31

Kremniy vodiysi "Silicon Valley" - Ma'lumotlarni o'chirish

Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION