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 не.