Sobes.tech
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 WHERE shartini 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.