Sobes.tech
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 — жок.