Middle
SQLda DELETE va TRUNCATE o'rtasidagi farq nima?
sobes.tech AI
AIdan javob
SQLda DELETE va TRUNCATE orasidagi asosiy farqlar:
- DELETE jadvaldan satrlarni satr bilan o‘chiradi va
WHEREshartini qo‘llash mumkin. Bu operatsiya logga yoziladi, bu esa o‘zgarishlarni bekor qilish (ROLLBACK) imkonini beradi. - TRUNCATE jadvaldagi barcha satrlarni to‘liq o‘chiradi, shart ko‘rsatish imkoniyati yo‘q. Bu yanada tezroq operatsiya bo‘lib, har bir satrni o‘chirish logga yozilmaydi, balki ma’lumotlar sahifalari resetlanadi.
Misol:
DELETE FROM users WHERE age < 18; -- faqat 18 yoshdan kichik foydalanuvchilarni o‘chiradi
TRUNCATE TABLE users; -- barcha foydalanuvchilarni bir vaqtning o‘zida o‘chiradi
Shuningdek, TRUNCATE odatda auto-increment hisoblagichlarini resetlaydi, DELETE esa resetlamaydi.