SQL အခြေခံ — ကျောင်းသားစာရင်းတစ်ခုကနေ ဒေတာဘေ့စ်ကို နားလည်ကြည့်မယ်
Table၊ row၊ column နဲ့ SELECT ကို ကျောင်းသားစာရင်း ဥပမာနဲ့ လေ့လာပြီး WHERE နဲ့ ORDER BY ကို စမ်းသုံးကြည့်ပါ။
21CT Admin4 min read10/19/2026
#SQL#PostgreSQL#Database
Spreadsheet မှာ ကျောင်းသားစာရင်း သိမ်းတာကို စဉ်းစားကြည့်ပါ။ Database table မှာလည်း column တွေက အချက်အလက်အမျိုးအစားဖြစ်ပြီး row တစ်ကြောင်းက မှတ်တမ်းတစ်ခု ဖြစ်ပါတယ်။ SQL က relational database ကို အချက်အလက် မေးမြန်းပြင်ဆင်ဖို့ အသုံးပြုတဲ့ ဘာသာစကားပါ။
လေ့ကျင့်ခန်း ဒေတာတစ်ခု ဖန်တီးပါ
အောက်က ဥပမာကို သီးခြားလေ့ကျင့်ခန်း database မှာသာ စမ်းပါ။ တကယ့်ကျောင်းသား အချက်အလက် မလိုပါဘူး။ student_id ကို primary key ထားတာက မှတ်တမ်းတစ်ခုစီကို သီးခြားခွဲသိနိုင်ဖို့ ဖြစ်ပါတယ်။
CREATE TABLE practice_students (
student_id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
course TEXT NOT NULL
);
INSERT INTO practice_students VALUES
(1, 'Aye', 'Computer Basics'),
(2, 'Min', 'Python'),
(3, 'Su', 'Computer Basics');
လိုအပ်တဲ့ မှတ်တမ်းကို ရွေးထုတ်ပါ
SELECT က ပြချင်တဲ့ column တွေကို ရွေးပါတယ်။ FROM က ဘယ် table လဲဆိုတာ သတ်မှတ်ပြီး WHERE က အခြေအနေနဲ့ ကိုက်တဲ့ row တွေကို စစ်ထုတ်ပါတယ်။
SELECT name, course
FROM practice_students
WHERE course = 'Computer Basics'
ORDER BY name;
ဒီဥပမာရဲ့ ရလဒ်မှာ Aye နဲ့ Su ပါဝင်မယ်။ ORDER BY name က နာမည်အလိုက် စီပေးပါတယ်။ ORDER BY မပါတဲ့ query ရဲ့ အစီအစဉ်ကို အမြဲတမ်း တူမယ်လို့ မယူဆသင့်ပါဘူး။
ပြင်ဆင်ခြင်းနဲ့ transaction
UPDATE နဲ့ DELETE သုံးတဲ့အခါ WHERE မေ့ရင် ရည်ရွယ်ထားတာထက် မှတ်တမ်းပိုများများကို ထိခိုက်နိုင်ပါတယ်။ Transaction က ဆက်စပ်အလုပ်တွေကို အစုလိုက် ပြီးစီးစေဖို့ ကူညီပါတယ်။ COMMIT က အတည်ပြုပြီး ROLLBACK က မပြီးဆုံးသေးတဲ့ transaction အပြောင်းအလဲကို ပယ်ဖျက်နိုင်ပါတယ်။ အဲဒါက အရင်က commit လုပ်ပြီးသား ဒေတာအတွက် backup အစားမထိုးပါဘူး။
Website နဲ့ ချိတ်တဲ့အခါ
အသုံးပြုသူ ရိုက်ထည့်တဲ့စာကို SQL command ထဲ တိုက်ရိုက် ပေါင်းမထည့်ပါနဲ့။ Parameterized query သို့မဟုတ် သင့် framework ရဲ့ လုံခြုံတဲ့ query API ကို သုံးပါ။ Database password ကို browser ဆီ မပို့ဘဲ server ဘက်မှာ ထိန်းထားရပါတယ်။
လေ့ကျင့်ခန်း
Python တက်တဲ့ ကျောင်းသားနာမည်ပဲ ထုတ်တဲ့ SELECT တစ်ခု ရေးကြည့်ပါ။ ပြီးရင် ဘာကြောင့် student_id လိုအပ်သလဲဆိုတာ ကိုယ်ပိုင်စကားနဲ့ ရှင်းပြပါ။
အရင်းအမြစ်များ — PostgreSQL documentation
https://www.postgresql.org/docs/current/tutorial-select.html
https://www.postgresql.org/docs/current/tutorial-transactions.html
ဆွေးနွေးမှုတွင် ပါဝင်ပါ
အကောင့်မလိုပါ။ မှတ်ချက်တွင် စာသား၊ နေ့ရက်နှင့် အချိန်သာ ဖော်ပြမည်။ ကိုယ်ရေးကိုယ်တာ အချက်အလက်များ မထည့်ပါနှင့်။
မဲများမှာ အမည်မသိ အကြံပြုချက် စုစုပေါင်းဖြစ်ပြီး လူဦးရေ မဟုတ်ပါ။ ဧည့်သည် ID နှင့် မဲပေး cookie မသုံးပါ။
မှတ်ချက်များ (၀)
မှတ်ချက် မရှိသေးပါ။ ပထမဆုံး ဆွေးနွေးသူ ဖြစ်ပါစေ။
21CT မှ သင်တန်းအကြံပြုချက်
ဒီအကြောင်းအရာကို လက်တွေ့သင်တန်းအနေနဲ့ ဆက်လေ့လာချင်ပါက course catalog ကိုကြည့်ပါ။
