Middle
SQLде DELETE жана TRUNCATE ортосунда кандай айырма бар?
sobes.tech AI
AIден жооп
SQLде DELETE жана TRUNCATE арасындагы негизги айырмачылыктар:
- DELETE таблицадан саптарды сап боюнча өчүрөт жана
WHEREшартын колдонушу мүмкүн. Операция логго жазылат, бул өзгөртүүлөрдү кайтарууга (ROLLBACK) мүмкүндүк берет. - TRUNCATE таблицадан бардык саптарды толугу менен өчүрөт, шарт көрсөтүү мүмкүнчүлүгү жок. Бул тезирек операция, анткени ал ар бир сапты өчүрүүнү логго жазбайт, ал эми маалымат баракчаларын нөлгө коюп жатат.
Мисал:
DELETE FROM users WHERE age < 18; -- гана 18 жаштан кичүү колдонуучуларды өчүрөт
TRUNCATE TABLE users; -- бардык колдонуучуларды бир учурда өчүрөт
Мындан тышкары, TRUNCATE адатта авто-арттыруучу эсептегичтерди нөлгө коюп жатат, ал эми DELETE — жок.