Oʻchirish va kesish
SQL (Structure Query Language) buyruqlari, Delete va Truncate ikkala buyruqlar ma'lumotlar bazasidagi jadvallarda saqlangan ma'lumotlardan xalos bo'lish uchun ishlatiladi. Delete bu DML (ma'lumotlarni manipulyatsiya qilish tili) iborasi bo'lib, jadvalning ba'zi yoki barcha qatorlarini olib tashlaydi. "Qaerda bandi" o'chirilishi kerak bo'lgan qatorlarni belgilash uchun ishlatiladi va qaerda bandi Delete iborasi bilan ishlatilmasa, u jadvaldagi barcha ma'lumotlarni o'chiradi. Kesish - bu DDL (Data Definition Language) iborasi bo'lib, u jadvaldan butun ma'lumotlarni olib tashlaydi. Ushbu ikkala buyruq ham jadval tuzilishini va jadvalga havolalarni yo'q qilmaydi va kerak bo'lganda faqat ma'lumotlar o'chiriladi.
Bayonotni oʻchirish
Delete iborasi foydalanuvchiga ma'lum shart asosida ma'lumotlar bazasidagi mavjud jadvaldan ma'lumotlarni olib tashlash imkonini beradi va bu shartni aniqlash uchun "Qaerda" bandidan foydalaniladi. O'chirish buyrug'i jurnalga kiritilgan ijro deb ataladi, chunki u bir vaqtning o'zida faqat bitta qatorni o'chiradi va tranzaksiya jurnalida har bir qatorni o'chirish uchun yozuvni saqlaydi. Shunday qilib, bu operatsiyani sekinlashtirishga olib keladi. Delete bu DML bayonotidir va shuning uchun buyruqni bajarishda u avtomatik ravishda bajarilmaydi. Shuning uchun, agar kerak bo'lsa, o'chirish operatsiyasi ma'lumotlarga qayta kirish uchun qaytarilishi mumkin. O'chirish buyrug'i bajarilgandan so'ng, o'zgarishlarni doimiy ravishda saqlash uchun uni bajarish yoki orqaga qaytarish kerak. Delete bayonoti jadvalning jadval tuzilishini ma'lumotlar bazasidan olib tashlamaydi. Shuningdek, u jadval tomonidan ishlatiladigan xotira maydonini ajratmaydi.
Oʻchirish buyrugʻining odatiy sintaksisi quyida keltirilgan.
DAN OʻCHIRISH
yoki
QAYERDAN OʻCHIRISH
Kesish bayonoti
Truncate iborasi ma'lumotlar bazasidagi mavjud jadvaldagi barcha ma'lumotlarni o'chirib tashlaydi, lekin u bir xil jadval tuzilmasini, shuningdek, yaxlitlik cheklovlarini, kirish imtiyozlarini va boshqa jadvallar bilan munosabatlarni saqlaydi. Shunday qilib, jadvalni qayta belgilash talab qilinmaydi va agar foydalanuvchi jadvalni qayta ishlatmoqchi bo'lsa, eski jadval tuzilmasidan foydalanish mumkin. Truncate maʼlumotlarni saqlash uchun foydalaniladigan maʼlumotlar sahifalarini ajratish orqali butun maʼlumotlarni oʻchirib tashlaydi va tranzaksiya jurnalida faqat shu sahifa taqsimotlari saqlanadi. Shuning uchun, kesish buyrug'i ishlash uchun kamroq tizim va tranzaktsiyalar jurnali resurslaridan foydalanadi, shuning uchun u boshqa tegishli buyruqlarga qaraganda tezroq. Kesish - bu DDL buyrug'i, shuning uchun u bayonotni bajarishdan oldin va keyin avtomatik majburiyatlardan foydalanadi. Shunday qilib, kesish ma'lumotlarni hech qanday tarzda qayta tiklay olmaydi. U bajarilgandan so'ng jadval tomonidan ishlatiladigan xotira maydonini bo'shatadi. Lekin Truncate iborasini tashqi kalit cheklovlari bilan havola qilingan jadvallarda qo'llash mumkin emas.
Quyidagilar Kesish bayonotining umumiy sintaksisidir.
JADVALNI QISHLASH
Oʻchirish va kesish oʻrtasidagi farq nima?
1. “Oʻchirish” va “Kesish” buyruqlari maʼlumotlar bazasidagi mavjud jadvallardagi maʼlumotlarni jadval tuzilishiga yoki jadvaldagi boshqa havolalarga zarar bermasdan oʻchiradi.
2. Biroq, Delete buyrug'i faqat tegishli shartdan foydalangan holda jadvaldagi ma'lum qatorlarni o'chirish yoki hech qanday shartsiz barcha qatorlarni o'chirish uchun ishlatilishi mumkin, Kesish buyrug'i esa faqat jadvaldagi butun ma'lumotlarni o'chirish uchun ishlatilishi mumkin.
3. Oʻchirish bu DML buyrugʻi boʻlib, agar kerak boʻlsa, operatsiyani orqaga qaytarishi mumkin, lekin Kesish bu DDL buyrugʻidir, shuning uchun u avtomatik yuklash bayonotidir va uni hech qanday tarzda qaytarib boʻlmaydi. Shuning uchun maʼlumotlar bazasini boshqarishda ushbu buyruqdan ehtiyotkorlik bilan foydalanish muhim.
4. Kesish operatsiyasi Oʻchirish operatsiyasiga qaraganda kamroq tizim resurslari va tranzaksiya jurnali resurslarini sarflaydi, shuning uchun Qisish Oʻchirishdan tezroq hisoblanadi.
5. Bundan tashqari, Delete jadval tomonidan ishlatiladigan boʻsh joy ajratmaydi, Tuncate esa bajarilgandan soʻng foydalanilgan joyni boʻshatadi, shuning uchun maʼlumotlar bazasi jadvalidan toʻliq maʼlumotlarni oʻchirishda Delete samarali boʻlmaydi.
6. Biroq, jadvalga chet el kaliti cheklovi bilan havola qilinganda, Truncate dan foydalanishga ruxsat berilmaydi va bu holda, Truncate o‘rniga Delete buyrug‘idan foydalanish mumkin.
7. Nihoyat, bu ikkala buyruqning ham maʼlumotlar bazasini boshqarish tizimlarida qoʻllashda afzalliklari va kamchiliklari bor va foydalanuvchi yaxshi natijalarga erishish uchun ushbu buyruqlardan toʻgʻri foydalanishni bilishi kerak.