Database ထဲမှာရှိတဲ့ data တွေကိုလိုသလိုပြင်ဆင်ဖို့အတွက်(Manipulationလုပ်ဖို့အတွက်)အသုံးပြုပါတယ်။ DML queries တွေမှာ အဓိကအားဖြင့် SELECT, INSERT, UPDATE, DELETE keyword တွေကိုတွေ့ရမှာဖြစ်ပါတယ်။
SELECT နဲ့ INSERT query ကိုတော့ရှေ့အပိုင်းတွေမှာလည်းတွေ့ပြီးသားဖြစ်တဲ့အတွက် ဒီအပိုင်းမှာတော့ UPDATE, DELETE queries တွေကိုအာရုံစိုက်ပြီးကြည့်သွားကြပါမယ်။
အရှေ့အပိုင်းမှာသုံးခဲ့တဲ့ products
table ကိုဆက်သုံးကြရအောင်။
select
အရင်ဆွဲကြည့်မယ်၊ records 8ကြောင်းရှိတာကိုတွေ့ပါမယ်၊ INSERT query ပြန်နွေးတဲ့အနေနဲ့ တစ်ကြောင်းထပ်ထည့်ကြည့်ပါမယ်။
INSERT INTO products VALUES(9, 'Tablet', 'Electronics', 500, 50, 'SupplierA');
Table ထဲမှာရှိတဲ့ data တွေကို update လုပ်ကြပါမယ်။
UPDATE
ဆိုတဲ့ command ကိုသုံးပါတယ်။
UPDATE table_name
SET column_name = value
WHERE column_name = value;
Products table ထဲမှာရှိတဲ့ product_name
က Smartphone
ဖြစ်တဲ့ records တွေရဲ့ price တန်ဖိုးကိုပြင်ကြည့်ပါမယ်။ ဒါဆို query ကဒီလိုဖြစ်ပါမယ်။
UPDATE products
SET price = 649.99
WHERE product_name = 'Smartphone';
select
နဲ့ပြန်ခေါ်ကြည့်မယ်ဆို product_name
က Smartphone
ဖြစ်တဲ့ record ရဲ့ price
တန်ဖိုးပြောင်းသွားတာကိုမြင်နိုင်မှာဖြစ်ပါတယ်။
select
ဆွဲတဲ့နေရာမှာလေ့ကျင့်တဲ့အနေနဲ့ အောက်က screenshot ကိုမကြည့်သေးဘဲမိမိဘာသာစမ်းပြီးရေးကြည့်ဖို့တိုက်တွန်းချင်ပါတယ်။
product_name
က Desk
ဖြစ်တဲ့ records တွေရဲ့ stock_quantity
တန်ဖိုးကိုထပ်ပြီးပြင်ဆင်ကြည့်ပါမယ်။
UPDATE products
SET stock_quantity = 20
WHERE product_name = 'Desk';
ထုံးစံအတိုင်း update query ရဲ့ result ကို select query ပြန်ရေးပြီးကြည့်နိုင်ပါတယ်။
ဒီတစ်ခါတော့ value set လုပ်တဲ့နေရာမှာ calculation လုပ်ပြီးပြင်ဆင်ကြည့်ရအောင်။
category
က Electronics
ဖြစ်တဲ့ records တွေရဲ့ stock_quantity
တန်ဖိုးကို မူလရှိရင်းစွဲတန်ဖိုးထက် ၁၀ခုပေါင်းထည့်ချင်တယ်ဆိုပါစို့၊ ဒီလိုမျိုးရေးနိုင်ပါတယ်။
UPDATE products
SET stock_quantity = stock_quantity + 10
WHERE category = 'Electronics';
အလားတူအခြားသော ပေါင်း၊နုတ်၊မြောက်၊စား signs တွေလည်းသုံးနိုင်ပါတယ်။
အောက်က example မှာတော့ multiplication sign ကိုသုံးပြထားပါတယ်။
category
က Clothing
ဖြစ်တဲ့ records တွေရဲ့ price
ကိုနှစ်ဆတင်ပြထားပါတယ်။
UPDATE products
SET price = price * 2
WHERE category = 'Clothing';
DELETE FROM table_name WHERE condition;
product_name
က Shoes
ဖြစ်တဲ့ records တွေကိုဖျက်ချပါမယ်။
ဒါဆို query ကဒီလိုဖြစ်ပါမယ်။
DELETE FROM products
WHERE product_name = 'Shoes';
ပျက်သွားလားဆိုတာကို select ပြန်ဆွဲပြီးကြည့်နိုင်ပါတယ်။ Delete ချတဲ့နေရာမှာ WHERE condition မလိုက်လို့လည်းရပါတယ်။
မလိုက်ဘူးဆိုရင်တော့ table ထဲမှာရှိတဲ့ data တွေအကုန်ပျက်သွားမှာဖြစ်ပါတယ်။
အရှေ့မှာ example တွေပြခဲ့တဲ့အတိုင်း WHERE condition တွေနောက်မှာ filter လုပ်တဲ့ signs တွေလိုက်နိုင်ပါတယ်(=, <, > etc.)။
DELETE query တွေမှာလည်းဒီလို filter တွေလုပ်ပြီးသုံးနိုင်ပါတယ်။
stock_quantity
30 အောက်ရောက်နေတဲ့ records တွေဖျက်ချင်တယ်ဆိုပါစို့။
DELETE FROM products
WHERE stock_quantity < 10;
အရှေ့က DQL မှာရေးခဲ့တဲ့ NULL
, NOT NULL
ဒီလို filter တွေခံပြီးတော့လည်းသုံးနိုင်ပါတယ်။
ဥပမာ supplier
တန်ဖိုးက NULL
ဖြစ်နေတဲ့ records တွေကိုဖျက်ချင်တယ်ဆို
DELETE FROM products
WHERE supplier IS NULL;
DML ရဲ့ကြောရိုးက ဒီ command ၄ခုပဲဖြစ်ပါတယ်။ သဘောတရားကိုအရင်နားလည်စေချင်တဲ့အတွက်ရိုးရှင်းတဲ့ example queries တွေနဲ့ပဲရေးပြပေးထားပါတယ်။
DDL, DQL, DML ရဲ့သဘောတရားကိုနားလည်သွားပြီဆိုနောက်အပိုင်းတွေမှာပိုပြီး advanced ဖြစ်တဲ့ queries ကိုလေ့လာသွားကြပါမယ်။
advanced ဖြစ်တဲ့ queries လို့ဆိုပေမယ့်လည်းလေ့လာခဲ့တဲ့ DDL, DQL, DML ဆိုတဲ့ category သုံးခုပေါ်မှာပဲ based လုပ်သွားမှာဖြစ်တဲ့အတွက်လေ့လာရလွယ်ကူမှာဖြစ်ပါတယ်။