Berilganlar bilan ishlash operatorlari dml delete I nsert update operatorlari va ularning sintaksisi Reja


Download 30.57 Kb.
Sana27.12.2022
Hajmi30.57 Kb.
#1068279
Bog'liq
Berilganlar bilan ishlash operatorlari DML DELETE I NSERT UPDATE operatorlari va ularning sintaksisi


Berilganlar bilan ishlash operatorlari DML DELETE I NSERT UPDATE operatorlari va ularning sintaksisi
Reja:

  1. DML o'zgartirish buyruqlari

  2. DELETE bayonoti

  3. DML DELETE I NSERT UPDATE operatorlari va ularning sintaksisi

Kategoriyalar jadvaliga havola bilan xorijiy kalit - categ o'z ichiga olgan jadval tovar bo'lsin. Shunday qilib, har bir mahsulot ma'lum bir toifaga kiradi: Bo'yoqlar toifasini toifalar jadvalidan olib tashlashingiz va tovar jadvalidagi barcha bog'langan yozuvlarni kaskadga kiritishingiz kerak. Agar chet el kaliti toifasini yaratishda o'chirishda CASCADE javobi ko'rsatilgan bo'lsa, muammoni hal qilish uchun quyidagi buyruqni bajarish kifoya:


DELETE FROM category WHERE category.categ_name = "bo'yoqlar va laklar"; Bog'langan tovar jadvalidan "bo'yoq va laklar" toifasiga kiruvchi barcha mahsulotlar avtomatik ravishda o'chiriladi. Biroq, agar foydalanuvchi MyIsam jadvallari bilan ishlasa, DBMS hech qanday xorijiy kalitlar haqida bilmaydi va kaskadli o'chirish sodir bo'lmaydi. Bunday holda, kaskadli o'chirish uchun mo'ljallangan DELETE buyrug'ining maxsus shakllari yordam beradi: jadval_nomini oʻchirish [, jadval_nomi...] OʻCHIRISH FROM jadval_nomi, [jadval_nomi ...] jadval_ma'lumotnomasidan FOYDALANISH 5-misol 4-misoldagi muammoni ikkita ekvivalent buyruq bilan hal qilish mumkin: Tovarni OʻCHIRING, kategoriya tovardan kategoriyaga qoʻshiling category.itcateg = tovar.categ bu yerda category.name_categ = “Boʻyoqlar va laklar”; Tovardan OʻCHIRISH, kategoriyada tovar qoʻshilish turkumidan foydalangan holda kategoriya.itcateg = tovar.categ bu yerda category.name_categ = “Boʻyoqlar va laklar”; Izoh 1 Bir qarashda jamoalar shunday ko'rinadi
TRUNCATE jadval_nomi; jadval_nomidan oʻchirish; butunlay ekvivalentdir. Darhaqiqat, ikkalasi ham barcha yozuvlar jadvalini butunlay tozalaydi. Biroq, hali ham farq bor. Agar TRUNCATE ishlatilsa, u holda barcha yozuvlar bir vaqtning o'zida o'chiriladi va jadval to'ldirilganda, avtomatik qo'shimcha maydonlar 1 dan boshlab qiymatlarni oladi. Agar DELETE ishlatilsa, o'chirish bir vaqtning o'zida bitta yozuv sodir bo'ladi va jadval qachon. to'ldirilsa, avtomatik oshirish maydonlari oxirgi o'chirilgan qiymatdan 1 kattaroq qiymatga ega bo'ladi (ya'ni, avtomatik oshirish davom etadi). Ushbu bobda jadvalda keltirilgan qiymatlarni boshqaradigan buyruqlar keltirilgan.
Ushbu bobni tugatgandan so'ng, siz jadvalga qatorlarni qo'yishingiz, ularni o'chirishingiz va har bir satrda keltirilgan individual qiymatlarni o'zgartirishingiz mumkin. Shakllanishda so'rovlardan foydalanish ko'rsatiladi to'liq guruh kiritish uchun qatorlar, shuningdek, o'zgaruvchan qiymatlarni boshqarish va satrlarni o'chirish uchun predikatdan qanday foydalanish mumkin. Ushbu bobdagi materiallar ma'lumotlar bazasida ma'lumotlarni yaratish va boshqarishni ko'rsatadigan to'liq bilimlar majmuasidir. Predikatlarni loyihalashning yanada kuchli usullari keyingi bobda muhokama qilinadi.
DML O'ZGARTIRISH BUYRUQLARI Qiymatlarni uchta DML (Ma'lumotlarni boshqarish tili) buyrug'i bilan maydonlarga kiritish va olib tashlash mumkin: INSERT, UPDATE, DELETE. Adashib qolmang, ularning barchasi avval SQL da modifikatsiya buyruqlari sifatida tilga olingan. QIMMATLARNI KIRISH SQL-dagi barcha qatorlar INSERT modifikatsiya buyrug'i yordamida kiritiladi. Eng oddiy shaklda INSERT quyidagi sintaksisdan foydalanadi:
INSERT INTO QIYMATLAR (,...); Shunday qilib, masalan, Salespeople jadvaliga qator kiritish uchun siz quyidagi shartdan foydalanishingiz mumkin: INSERT INTO Salespeople VALUES (1001, "Peel", "London", .12); DML buyruqlari hech qanday natija bermaydi, lekin sizning dasturingiz ma'lumotlardan foydalanilganligini tasdiqlashi kerak. Jadval nomi (bu holda Sotuvchilar) CREATE TABLE buyrug'ida oldindan aniqlangan bo'lishi kerak (17-bobga qarang) va qiymat bandida raqamlangan har bir qiymat u kiritilgan ustunning ma'lumotlar turiga mos kelishi kerak. ANSI-da bu qiymatlar ifodalarni tashkil eta olmaydi, ya'ni 3 mavjud, ammo 2 + 1 mavjud emas.
Qiymatlar, albatta, jadvalga nomma-nom tartibda kiritiladi, shuning uchun nomga ega birinchi qiymat avtomatik ravishda 1-ustunga, ikkinchisi 2-ustunga va hokazo. NULL KO'RSATKORLARNI KIRISH (NULL) Agar siz NULL qiymatini kiritishingiz kerak bo'lsa, uni oddiy qiymat kabi kiritasiz. Faraz qilaylik, janob Peel uchun hali shahar qavati yo'q edi. Siz uning satrini = NULL qiymati bilan ushbu maydonga quyidagicha kiritishingiz mumkin: INSERT INTO Salespeople VALUES (1001, "Peel", NULL, .12); Chunki NULL faqat belgi qiymati emas, balki maxsus token bo'lib, u bitta tirnoq ichiga kiritilmagan. INSERT UCHUN USTUNGA NOMI BERISH Shuningdek, siz nom qiymatini kiritmoqchi bo'lgan ustunlarni belgilashingiz mumkin. Bu nomlarni istalgan tartibda kiritish imkonini beradi. Faraz qilaylik, siz Mijozlar jadvali qiymatlarini printer hisobotidan ularni quyidagi tartibda joylashtiradigan: shahar, cname va cnum oldi va soddalik uchun qiymatlarni bir xil tartibda kiritmoqchisiz:
INSERT INTO Mijozlar ( shahar, cname, cnum ) VALUES (London, Honman, 2001); E'tibor bering, reyting va snum ustunlari yo'q. Bu shuni anglatadiki, bu chiziqlar avtomatik ravishda standart qiymatga o'rnatiladi. Standart qiymat NULL yoki sukut bo'yicha - sifatida belgilangan boshqa qiymat sifatida kiritilishi mumkin. Agar cheklov berilgan ustunda NULL qiymatidan foydalanishni taqiqlasa va bu ustun sukut boʻyicha oʻrnatilmagan boʻlsa, bu ustun jadvalga ishora qiluvchi har qanday INSERT iborasi uchun qiymat bilan taʼminlanishi kerak (NULL haqida maʼlumot olish uchun 18-bobga qarang). va "standart" cheklovlar) ... SO‘ROV NATIJALARINI KIRISH Shuningdek, siz
INSERT buyrug'ini bir jadvaldan qiymatlarni olish yoki olish va so'rov bilan birgalikda ishlatish uchun boshqasiga qo'yish uchun ishlatishingiz mumkin. Buning uchun siz shunchaki VALUES bandini (oldingi misoldagi) tegishli so'rov bilan almashtirasiz: INSERT INTO Londonstaff SELECT * FROM Salesspeople WHERE city = "London"; Bu so'rov natijasida hosil bo'lgan barcha qiymatlarni, ya'ni shahar = "London" qiymatlari bilan Sotuvchilar jadvalidagi barcha qatorlarni oladi va ularni Londonstaff deb nomlangan jadvalga qo'yadi.
Buning ishlashi uchun Londonstaff jadvali quyidagi shartlarga javob berishi kerak: * U allaqachon CREATE TABLE buyrug'i bilan yaratilgan bo'lishi kerak. * Jadvalga mos keladigan to'rtta ustun bo'lishi kerak Ma'lumotlar turi bo'yicha sotuvchilar; ya'ni birinchi, ikkinchi va hokazo, har bir jadvalning ustunlari bir xil ma'lumotlar turiga ega bo'lishi kerak (va ular bir xil nomga ega bo'lmasligi kerak). Umumiy qoida shundaki, kiritilgan jadval ustunlari quyi so'rov tomonidan ko'rsatilgan ustunlarga mos kelishi kerak, bu holda butun Sotuvchi jadvali uchun. Londonstaff endi mustaqil jadval bo'lib, u Salespeople jadvalidan ba'zi qiymatlarni oladi. Agar Sotuvchi jadvalidagi qiymatlar to'satdan o'zgartirilsa, u Londonstaff jadvaliga hech qanday ta'sir qilmaydi (garchi siz 20-bobda tasvirlangan
VIEW yordamida bunday effekt yaratishingiz mumkin). So'rov yoki INSERT buyrug'i ustunlarni nomlar bo'yicha belgilashi mumkinligi sababli, agar xohlasangiz, faqat tanlangan ustunlarni ko'chirishingiz, shuningdek, faqat siz tanlagan ustunlarni qayta tartiblashingiz mumkin. Misol uchun, siz Daytotals deb nomlangan yangi jadval yaratishga qaror qildingiz deylik, u shunchaki har kun uchun buyurtma qilingan xaridlarning umumiy dollar miqdorini kuzatib boradi. Siz bu ma'lumotlarni Buyurtmalar jadvalidan mustaqil ravishda kiritishingiz mumkin, lekin avvalo Buyurtmalar jadvalida ko'rsatilgan ma'lumotlar bilan Daytotals jadvalini to'ldirishingiz kerak. Buyurtmalar jadvali bizning misolimizdagi kabi bir necha kun emas, balki oxirgi moliyaviy yilni qamrab olishini tushunib,
INSERT INTO kunlik jami (sana, jami) SELECT odate, SUMni hisoblash va kiritishda quyidagi INSERT bandidan foydalanishning foydasini ko'rishingiz mumkin. (amt) FROM Buyurtmalar GROUP BY odate; E'tibor bering, avvalroq taklif qilinganidek, Buyurtmalar jadvali va Kunlik jami jadvalning ustun nomlari bir xil bo'lishi shart emas. Bundan tashqari, agar sotib olish sanasi va jami jadvaldagi yagona ustunlar bo'lsa va berilgan tartibda bo'lsa, ularning nomlari aniq soddaligi tufayli chiqishdan chiqarib tashlanishi mumkin.
JADVALLARDAN QATRLARNI O'CHIRISH Jadvaldagi satrlarni o'zgartirish buyrug'i bilan o'chirishingiz mumkin - DELETE. U faqat kiritilgan satrlarni o'chirib tashlashi mumkin, alohida maydon qiymatlari emas, shuning uchun maydon parametri ixtiyoriy yoki mavjud emas. Salespeople jadvalining butun mazmunini o'chirish uchun siz quyidagi shartni kiritishingiz mumkin: DELETE FROM Salespeople; Endi jadval bo'sh, siz uni DROP TABLE buyrug'i bilan doimiy ravishda tashlab qo'yishingiz mumkin (17-bobda tushuntirilgan). Odatda, jadvaldan faqat ma'lum bir qatorlarni olib tashlashingiz kerak. Qaysi qatorlar o'chirilishini aniqlash uchun, xuddi so'rovlarda bo'lgani kabi, predikatdan foydalanasiz. Masalan, Axelrod sotuvchisini jadvaldan olib tashlash uchun siz DELETE FROM Salesspeople WHERE snum = 1003 ni kiritishingiz mumkin;
Biz sname maydoni o'rniga snum maydonidan foydalandik, chunki bu bitta va faqat bitta qatorga amal qilishni istasangiz, asosiy kalitlardan foydalanganda eng yaxshi taktikadir. Siz uchun bu asosiy kalit harakatiga o'xshaydi. Albatta, ushbu misolda ko'rsatilganidek, qatorlar guruhini tanlash uchun predikat bilan DELETE dan ham foydalanishingiz mumkin: DELETE FROM Salespeople WHERE city = "London"; MAYDON QIYMATLARINI O'ZGARTIRISh Endi siz jadvalga qatorlarni kiritishingiz va o'chirishingiz mumkin bo'lgandan so'ng, mavjud satrdagi qiymatlarning bir qismini yoki barchasini qanday o'zgartirishni o'rganishingiz kerak. Bu UPDATE buyrug'i bilan amalga oshiriladi. Bu buyruq foydalanish uchun jadvalni belgilaydigan
UPDATE bandini va ma'lum bir ustunga o'zgartirishni ko'rsatuvchi SET bandini o'z ichiga oladi. Misol uchun, barcha mijozlarning reytinglarini 200 ga o'zgartirish uchun siz UPDATE Customers SET reytingini = 200 ni kiritishingiz mumkin; FAQAT MAXSUS STRINGLARNI O'ZGARTIRISH Albatta, bitta qiymatni o'zgartirish uchun jadvaldagi barcha satrlarni ko'rsatishni har doim ham xohlamaysiz, shuning uchun DELETE kabi UPDATE predikatlarni qabul qilishi mumkin. Mana, masalan,
Peel sotuvchisining barcha mijozlari uchun bir xil bo'lgan o'zgartirishni qanday amalga oshirishingiz mumkin (snum = 1001 bilan): YANGILANISh Mijozlarning SET reytingi = 200 WHERE snum = 1001; KO'P USTUNLAR UCHUN YANGILANISH BUYRUQ Biroq, UPDATE buyrug'i yordamida bitta ustunni o'zgartirish bilan cheklanmasligingiz kerak. SET bandi vergul bilan ajratilgan istalgan sonli ustunlarni belgilashi mumkin. Belgilangan barcha uchrashuvlar har qanday kishi uchun amalga oshirilishi mumkin stol qatori, lekin bir vaqtning o'zida faqat bitta.
Faraz qilaylik, Motika sotuvchisi nafaqaga chiqdi va biz uning raqamini yangi sotuvchiga qayta tayinlamoqchimiz: UPDATE Salespeople SET sname = "Gibson", city = "Boston", comm = .10 WHERE snum = 1004; Bu jamoa yangi sotuvchi Gibsonga, sobiq Motika dilerining barcha joriy mijozlariga va Motika uchun moʻljallangan buyurtmalarni pol snum yordamida topshiradi.
Biroq, siz bir vaqtning o'zida bir nechta jadvallarni bitta buyruqda o'zgartira olmaysiz, chunki qisman jadvallarni SET bandi bilan o'zgartirilgan ustunlar bilan prefikslash mumkin emas. Boshqacha qilib aytganda, siz UPDATE buyrug'ida "SET Salespeople.sname = Gibson" deb ayta olmaysiz, faqat "SET sname = Gibson" deb aytishingiz mumkin. O'ZGARISH UCHUN FOTOLARDAN FOYDALANISH Skayar iboralarni UPDATE buyrug'ining SET bandida ishlatishingiz mumkin, ammo uni o'zgartirilishi kerak bo'lgan jins ifodasiga kiritish orqali. Bu INSERT buyrug'ining VALUES bandidan farqli o'laroq, unda ifodalardan foydalanish mumkin emas; skalyar ifodalarning bu xossasi juda foydali xususiyatdir. Aytaylik, siz barcha sotuvchilaringiz uchun komissiyalarni ikki baravar oshirishga qaror qildingiz. Siz quyidagi ifodadan foydalanishingiz mumkin:
UPDATE Salespeople SET comm = comm * 2; Qachon murojaat qilsangiz belgilangan qiymat SET bandidagi ustunda ishlab chiqarilgan qiymatni joriy satrdan UPDATE buyrug'i yordamida har qanday o'zgartirish kiritilishidan oldin olish mumkin. Tabiiyki, siz ushbu xususiyatlarni birlashtira olasiz va aytishingiz mumkin - Londondagi barcha sotuvchilar uchun komissiyani ikki baravar oshiring, bu jumla bilan: UPDATE Salespeople SET comm = comm * 2 WHERE city = "London"; NOL QIYMATLARNI O'ZGARTIRISH SET bandi predikat emas. U hech qanday maxsus sintaksisdan foydalanmasdan (masalan, IS NULL kabi) qiymatlarni kiritgan kabi bo'sh NULL qiymatlarni kiritishi mumkin. Shunday qilib, agar siz Londondagi barcha mijozlar reytinglarini NULL ga o'rnatmoqchi bo'lsangiz, quyidagi bandni kiritishingiz mumkin: UPDATE mijozlar SET reytingi = NULL WHERE city = "London"; Londondagi barcha mijozlar reytingini tiklaydi.
XULOSA Endi siz uchta oddiy buyruq yordamida ma'lumotlar bazasi tarkibini boshqarish san'atini o'zlashtirdingiz: INSERT - ma'lumotlar bazasiga qatorlar qo'yish uchun ishlatiladi; DELETE - ularni o'chirish uchun; MA'LUMOTLAR - allaqachon kiritilgan qatorlardagi qiymatlarni o'zgartirish uchun. Qaysi qatorga buyruq ta'sir qilishini aniqlash uchun UPDATE va DELETE buyruqlari bilan predikatdan qanday foydalanishni o'rgandingiz. Albatta, bu kabi predikatlar INSERT uchun ahamiyatsiz, chunki ko'rib chiqilayotgan qator INSERT operatorining oxirigacha jadvalda mavjud emas. Biroq, barcha qatorlarni bir vaqtning o'zida jadvalga qo'yish uchun INSERT so'rovlaridan foydalanishingiz mumkin. Bundan tashqari, siz buni istalgan tartibda ustunlar bilan qilishingiz mumkin. Agar siz ushbu qiymatni aniq belgilamasangiz, standart qiymatlar ustunlarga joylashtirilishi mumkinligini bilib oldingiz. Bundan tashqari, standart standartdan foydalanishni ko'rdingiz, ya'ni NULL. Bundan tashqari, siz UPDATE qiymati ifodasini ishlatishi mumkinligini tushundingiz, INSERT esa mumkin emas. Keyingi bobda ushbu buyruqlar yordamida quyi so'rovlardan qanday foydalanishni ko'rsatib, bilimingizni kengaytirasiz. Bu quyi soʻrovlar siz allaqachon tanish boʻlgan soʻrovlarga oʻxshaydi, lekin DML buyruqlarida quyi soʻrovlardan foydalanilganda baʼzi maxsus taʼsirlar va cheklovlar mavjud boʻlib, biz ularni 16-bobda muhokama qilamiz.
DELETE bayonoti Operator OʻCHIRISH vaqtinchalik yoki doimiy asosiy jadvallar, ko'rinishlar yoki kursorlardan qatorlarni o'chiradi va oxirgi ikki holatda operator effekti ma'lumotlar ushbu ko'rinishlar yoki kursorlarga olingan asosiy jadvallarga qo'llaniladi. O'chirish operatori oddiy sintaksisga ega: OʻCHIRISH<имя таблицы > ; Agar taklif bo'lsa QAYERDA etishmayotgan bo'lsa, barcha qatorlar jadval yoki ko'rinishdan o'chiriladi (ko'rinish yangilanishi kerak). Transact-SQL-dagi ushbu operatsiyani (jadvaldagi barcha qatorlarni o'chirish) buyruq yordamida ham tezroq bajarish mumkin. Biroq, buyruqni amalga oshirishda bir qator farqlar mavjud JADVALNI KESISH operatordan foydalanishga qarshi OʻCHIRISH yodda tutish: 1. Jadvalning alohida satrlarini o'chirish jurnalga yozilmaydi. Jurnalga faqat jadval ma'lumotlari bilan band bo'lgan sahifalarning ajratilishi yoziladi. 2. Triggerlar, xususan, o'chirish triggeri ishlamaydi. 3. Agar yoqilgan bo'lsa, buyruq qo'llanilmaydi bu jadval chet el kalitiga havola mavjud va hatto chet el kalitida kaskadli o'chirish opsiyasi bo'lsa ham. 4. Hisoblagich qiymati ( Identity) dastlabki qiymatiga qaytariladi.
DELETE bayonoti DELETE operatori jadvaldagi qatorlarni o'chiradi. INSERT iborasi singari, bu bayonot ham ikki xil shaklga ega: WHERE bandidagi shartga javob beradigan barcha qatorlar olib tashlanadi. DELETE bayonotida ustunlarni aniq ro'yxatga kiritish shart emas va hatto ruxsat berilmaydi, chunki bayonot ustunlarda emas, satrlarda ishlaydi. DELETE bayonotining birinchi shaklidan foydalanish quyidagi misolda ko'rsatilgan, bu "Menejer" unvoni bo'lgan barcha xodimlarni Works_on jadvalidan o'chiradi: DELETE iborasining WHERE bandi quyidagi misolda ko'rsatilganidek, quyi so'rovni o'z ichiga olishi mumkin: Vershinina xodimi iste'foga chiqqanligi sababli, u bilan bog'liq barcha yozuvlar ma'lumotlar bazasidan o'chiriladi. Bu misoldagi so'rov quyida ko'rsatilganidek, FROM bandi yordamida ham amalga oshirilishi mumkin. Bunday holda, ushbu bandning semantikasi UPDATE bayonotidagi FROM bandlari bilan bir xil bo'ladi. DELETE bayonotida WHERE bandidan foydalanish ixtiyoriydir. Agar ushbu band bo'lmasa, jadvaldan barcha qatorlar o'chiriladi: SampleDb dan foydalanish; - jadvalning barcha satrlarini o'chirish DELETE FROM Works_on; DELETE va DROP TABLE iboralari bir-biridan juda farq qiladi.
DELETE operatori jadval mazmunini (qisman yoki to'liq) o'chiradi, DROP TABLE esa jadvalning mazmunini ham, sxemasini ham o'chiradi. Shunday qilib, DELETE operatori bilan barcha qatorlar o'chirilgandan so'ng, jadval ma'lumotlar bazasida mavjud bo'lib qoladi va DROP TABLE operatoridan keyin jadval mavjud bo'lmaydi. Boshqa Transact-SQL bayonotlari va jadvallarni o'zgartirish bo'yicha takliflar SQL Server jadvallarni o'zgartirish bo'yicha quyidagi qo'shimcha ko'rsatmalar va takliflarni qo'llab-quvvatlaydi: TRUNCATE TABLE bayonoti; MERGE yo'riqnomasi; OUTPUT bandi. Ushbu ko'rsatmalar va taklif quyidagi kichik bo'limlarda muhokama qilinadi. TRUNCATE TABLE bayonoti TRUNCATE TABLE bayonoti DELETE iborasining WHERE bandisiz tezroq versiyasidir. Bu ibora DELETE iborasiga qaraganda jadvalning barcha satrlarini tezroq o'chirib tashlaydi, chunki u tarkibni sahifama-sahifa o'chiradi, DELETE iborasi esa uni satr satr qiladi. TRUNCATE TABLE bu SQL standarti uchun Transact-SQL kengaytmasi. Ushbu bayonotning yana bir muhim farqi shundaki, u IDENTITY autoincrement xususiyati belgilangan ustun indeksini tiklaydi. TRUNCATE TABLE iborasi quyidagi sintaksisga ega:
TRUNCATE TABLE jadval_nomi BIRLASHTIRISH bayonoti BIRLASHTIRISH bayonoti yozuv (qator) mavjudligiga qarab, INSERT, UPDATE va DELETE operatorlari ketma-ketligini bitta elementar operatorga birlashtiradi. Boshqacha qilib aytganda, manba jadvalidagi farqlar asosida maqsadli jadval mazmunini o'zgartirish uchun ikkita turli jadvalni sinxronlashtirishingiz mumkin. MERGE bayonotidan asosiy foydalanish ma'lumotlar ombori muhitida bo'lib, u erdan kelgan yangi ma'lumotlarni aks ettirish uchun jadvallarni vaqti-vaqti bilan yangilab turish kerak. Onlayn tranzaktsiyalarni qayta ishlash tizimlari OLTP (On-Line Transaction Processing)... Ushbu ma'lumotlar mavjud jadval qatorlari va / yoki o'zgarishlarni o'z ichiga olishi mumkin yangi qatorlar jadvallarga kiritilishi kerak. Agar yangi ma'lumotlarning qatori jadvalda mavjud bo'lgan yozuvga to'g'ri kelsa, UPDATE yoki DELETE operatori bajariladi.
Aks holda INSERT operatori bajariladi. Shu bilan bir qatorda, BIRLASHTIRISH iborasi oʻrniga har bir qator uchun qaysi amalni bajarish kerakligini hal qiluvchi INSERT, UPDATE va DELETE iboralari ketma-ketligidan foydalanishingiz mumkin: kiritish, oʻchirish yoki yangilash. Biroq, bu yondashuv sezilarli ishlash kamchiligiga ega: u ma'lumotlar ustidan bir necha marta o'tishni talab qiladi va ma'lumotlar yozish-yozish asosida qayta ishlanadi.
Download 30.57 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling