Middle
Ի՞նչ է տարբերությունը DELETE և TRUNCATE SQL-ում։
sobes.tech AI
Պատասխան AI-ից
SQL-ում DELETE և TRUNCATE հիմնական տարբերությունները:
- DELETE մաքրում է տողերը աղյուսակից տող առ տող և կարող է ունենալ
WHEREպայման։ Գործողությունը գրանցվում է օրագրում, ինչը թույլ է տալիս վերականգնել փոփոխությունները (ROLLBACK): - TRUNCATE ամբողջությամբ մաքրում է տողերը աղյուսակից՝ առանց պայման նշելու հնարավորության։ Դա ավելի արագ գործողություն է, քանի որ այն չի գրանցում յուրաքանչյուր տողի մաքրման գործընթացը, այլ վերականգնում է տվյալների էջերը։
Օրինակ՝
DELETE FROM users WHERE age < 18; -- կմաքրի միայն 18-ից փոքր օգտվողներին
TRUNCATE TABLE users; -- կմաքրի բոլոր օգտվողներին միանգամից
Բացի այդ, TRUNCATE սովորաբար վերականգնում է ավտոմատ աճող հաշիվները, մինչդեռ DELETE ոչ։