Sobes.tech
Middle

Тафовут байни DELETE ва TRUNCATE дар SQL чист?

sobes.tech AI

Ҷавоб аз AI

Асосӣ фарқиятҳои байни DELETE ва TRUNCATE дар SQL:

  • DELETE сатрҳоро аз ҷадвал ба сатр мебарорад ва метавонад шарти WHERE дошта бошад. Ин амалия дар лог сабт мешавад, ки имкон медиҳад, ки тағирот баргардонида шаванд (ROLLBACK).
  • TRUNCATE ҳамаи сатрҳоро аз ҷадвал комилан мебарорад, бе имконияти муайян кардани шарти махсус. Ин амалия тезтар аст, зеро ҳар як сатрро алоҳида сабт намекунад, балки саҳифаҳои маълумотро нол мекунад.

Масалан:

DELETE FROM users WHERE age < 18; -- танҳо корбарони то 18-сола мебарорад
TRUNCATE TABLE users; -- ҳамаи корбаронро якбора мебарорад

Илова бар ин, TRUNCATE одатан ҳисобкунакҳои автоматӣ-артиро нол мекунад, дар ҳоле ки DELETE не.