SQL Statement ေလးေတြနဲ႔ ပတ္သက္ျပီး ကြၽန္ေတာ္သိသေလာက္ basic knowledge ေလးေတြကို ျပန္ျပီး မွ်ေ၀ေပးခ်င္လို႔ပါ။ ညီေလး ညီမေလးေတြ အတြက္ပဲေပါ့။ ကြၽန္ေတာ္တို႔ programming လုပ္တဲ႔ သူေတြအားလံုး တခ်ိန္မဟုတ္တခ်ိန္ေတာ့ SQL Statement ေတြနဲ႔ ပတ္သက္ရမွာ မလြဲပါဘူး။ C# နဲ႔ပဲေရးေရး VB နဲ႔ပဲေရးေရး PHP နဲ႔ပဲေရးေရး java ပဲျဖစ္ျဖစ္ေပါ့ ဘယ္ language ကိုပဲ သံုးသည္ျဖစ္ေစ data ေတြကို database တစ္ခုခုမွာ သိမ္းေတာ့မယ္၊ ျပန္ထုတ္ျပေတာ့မယ္ဆိုတာနဲ႔ ကြၽန္ေတာ္တို႔ SQL Statement ေတြကို သံုးရေတာ့မွာပါ။ ဒီေနရာမွာ Database လို႔ ေျပာလိုက္ေတာ့ Microsoft platform က သူေတြက MS SQL Server ကို ေျပးျမင္ၾကမွာပါ။ ဟုတ္ပါတယ္ ကြၽန္ေတာ္လည္း MS SQL Server 2005 ကို သံုးေနတာပါပဲ။ ဒါေပမယ့္ ဘယ္လို DBMS ကိုပဲ သံုးသည္ျဖစ္ေစ Basic SQL Statement ေတြကေတာ့ အတူတူပါပဲ။ ဒါေၾကာင့္ ကြၽန္ေတာ္တို႔ အဲ့ဒီ basic SQL Statement ေလးေတြအေၾကာင္း ေလ့လာၾကည့္ရေအာင္ဗ်ာ။
ဟိုးအရင္ Turbo C သံုးျပီး program ေတြ ေရးၾကတဲ႔ ေခတ္တုန္းကေတာ့ ကြၽန္ေတာ္တို႔ေတြ data ေတြသိမ္းဖို႔အတြက္ harddisk ထဲမွာ file ေတြကိုယ္တိုင္ ေဆာက္ျပီး ကိုယ္တိုင္ပဲ အသြင္းအထုတ္လုပ္ခဲ႔ၾကတယ္။ ေနာက္ပိုင္းမွာ DBMS(Database Management Software) ေတြ ေပၚလာေတာ့ ကြၽန္ေတာ္တို႔ကိုယ္တိုင္ မလုပ္ေတာ့ပဲ အဲ့ဒီ DBMS ေတြကိုပဲ ခိုင္းစားလာခဲ႔ၾကတယ္။ အဲ့ဒီလို ခိုင္းဖို႔အတြက္ ကြၽန္ေတာ္တို႔က SQL လို႔ေခၚတဲ႔ Structured Query Language ကို သံုးၾကရပါတယ္။ အဲ့ဒီ SQL မွာ အဓိက အပိုင္း ၄ ပိုင္းပါပါတယ္။
INSERT ( database ထဲကို data အသစ္ေတြထည့္ဖို႔ )
UPDATE ( database ထဲက data ေတြကို ျပင္ဖို႔ )
DELETE ( database ထဲက data ေတြကို ဖ်က္ဖို႔ )
SELECT ( database ထဲက data ေတြကို user ကို ျပန္ထုတ္ျပဖို႔ )
ဒီ command ေတြ စမ္းၾကည့္ရေအာင္အတြက္ ကြၽန္ေတာ္ database ထဲမွာ table ၂ ခုေဆာက္လိုက္မယ္။ ကြၽန္ေတာ္လက္ရွိသံုးေနတာက SQL Server 2005 ဆိုေတာ့ အဲ့ဒါနဲ႔ပဲ ေျပာမယ္ေနာ္။ ညီတို႔က တျခား DBMS ေတြ သံုးရင္လည္း အရမ္းေတာ့ ကြာမယ္မထင္ပါဘူး။
Category Table Design
CategoryID int Primary key CategoryName varchar(50) Status varchar(50)
Item Table Design
ItemID int Primary key ItemName varchar(50) CategoryID int Price int Balance int Description varchar(250)
Insert Statement
insert into tablename
(column1name,column2name...columnxname)
values (value1,value2...valuex);
Database ထဲကို data record အသစ္တခုထည့္ေတာ့မယ္ဆိုရင္ ကြၽန္ေတာ္တို႔ Insert Command ကိုသံုးရပါမယ္။ အခု အရင္ဆံုး Category Table ထဲကို record တစ္ခု ထည့္ၾကည့္ရေအာင္။ Insert Command ရဲ႕ အေနာက္မွာ into ဆိုတဲ႔ keyword ေလးထည့္ေရးရတယ္။ ျပီးရင္ ကိုယ္ data ထည့္ခ်င္တဲ႔ table name ေပးရတယ္။ ျပီးေတာ့မွ ကိုယ့္ထည့္မယ့္ data ေတြကို values ဆိုတဲ႔ keyword ရဲ့ ေနာက္မွာ ထည့္ေရးေပးရမယ္။ ဥပမာ…
*** SQL SERVER 2005 တြင္ character ႏွင့္ datetime မ်ားကို single code ( ‘ ) ထည့္ေပးရပါသည္။ ***
VALUES (1, ‘Computer’, ‘Active’)
အေပၚက example query ေလးအတိုင္း ေရးမယ္ဆိုရင္ category table ထဲမွာ ရွိတဲ႔ field ေတြအားလံုးအတြက္ data ထည့္ကိုထည့္ေပးရမယ္။ အစဥ္လိုက္လည္း ျဖစ္ရပါမယ္။ တခါတေလမွာ ကြၽန္ေတာ္တို႔က column ေတြအားလံုးကို data ထည့္မေပးခ်င္တာတို႔၊ အစဥ္လိုက္မျဖစ္တာတို႔ဆိုရင္ query ေရးတဲ႔အခါ table name ရဲ့ ေနာက္မွာ ကိုယ္ထည့္ခ်င္တဲ႔ column name ကိုပါထည့္ေရးေပးရမွာပါ။ ဥပမာ…
VALUES (2, ‘Stationary’)
တခါတေလမွာ ကြၽန္ေတာ္တို႔ table တစ္ခုထဲက data ေတြကို တျခား table တစ္ခုထဲကို copy ကူးထည့္ခ်င္တဲ႔ အခါမ်ိဳးမွာ Insert command ကို Select command နဲ႔လည္း တြဲသံုးနိုင္ပါေသးတယ္။ ဒီလိုမ်ိဳးပါ…
SELECT * FROM Category
*** ဒီ query run ဖို႔အတြက္ Temp_Category table ေလးကိုအရင္ ေဆာက္ေပး ရမယ္ေနာ္။ Category table ရဲ့ structure အတိုင္းေဆာက္လုိက္ေပါ့ ***
thank you for your post…
i will continue to study
Comment by thandar — August 8, 2009 @ 3:16 PM
အကိုေရေက်းဇူးတင္ပါတယ္ က်ေနာ္လိုက္လုပ္ေနပါတယ္
အကို အခုမွအကိုဆိုဒ္ကို mirt အဲဒီကေတြ့လို့ sql နဲံ C#
နဲံပါတ္သက္ျပီးမ်ားမ်ားေရးေပးပါေနာ္အကို
Comment by luyo — February 4, 2010 @ 1:56 AM