ကွန်ပျူတာများ, ပရိုဂရမ်းမင်း
အခြေခံပညာ SQL statement တွေကို
SQL စံယနေ့ 1992 ခုနှစ်နှင့်နေဆဲအသုံးပြုမှုအတွက်မွေးစားခဲ့ပါတယ်။ သူသည်အများသောများအတွက်အခြေခံစံနှုန်းဖြစ်လာသည်ဒါက ဒေတာဘေ့စစီမံခန့်ခွဲမှုစနစ်များကို။ သင်တန်း၏, အချို့ထုတ်လုပ်သူစံ၏သူတို့ရဲ့ကိုယ်ပိုင်အနက်ကိုသုံးပါ။ SQL statement တွေကို - သို့သော်မည်သည့်စနစ်တွင်အဓိကအစိတ်အပိုင်းများနေဆဲရှိပါတယ်။
နိဒါန်း
အဆိုပါဒေတာဘေ့စအတွက် SQL statement တွေကိုအသုံးပြုခြင်းတန်ဖိုးများကိုစီမံခန့်ခွဲမှုစားပွဲနှင့်ထပ်မံခွဲခြမ်းစိတ်ဖြာနှင့် display ကိုအဘို့မိမိတို့ပြင်ဆင်မှုတွေ့ရှိနိုင်ပါသည်။ သူတို့ဟာစနစ်ဒေတာနှင့်အတူအဘယ်သို့ပြုရမည်ကိုသိသောသော့ချက်စာလုံးများအစုတခုဖြစ်ကြသည်။
SQL statement တွေကိုအများအပြားအမျိုးအစားသတ်မှတ်:
- ဒေတာဘေ့စအရာဝတ္ထု၏အဓိပ်ပါယျ;
- ကြိုးကိုင်တန်ဖိုးများ;
- ကာကွယ်စောင့်ရှောက်ရေးနှင့်စီမံခန့်ခွဲမှု,
- session တစ်ခု parameters တွေကို;
- ခြေရင်းအကြောင်းသတင်းအချက်အလက်;
- ငြိမ် SQL;
- ပြောင်းလဲနေသော SQL ။
ဒေတာကိုင်တွယ်ဘို့ SQL statement တွေကို
ဤကဏ္ဍတွင်သင်ဒေတာဘေ့စအတွက်တန်ဖိုးများများနေရာချထားထိန်းချုပ်နိုင်သည့်နှင့်အတူသော့ချက်စာလုံးများပါဝင်သည်။
INSERT ။ ရှိပြီးသား table ထဲမှာတစ်တန်းည့။ ဒါဟာအချို့အခွအေနေအားဖြင့်သတ်မှတ်တစ်ခုတည်းတန်ဖိုးကိုသို့မဟုတ်မျိုးစုံ, အဖြစ်အသုံးပြုနိုင်ပါသည်။ ဥပမာ:
ထဲသို့ထည့်
စားပွဲပေါ်မှာအမည် (ကော်လံ 1 အမည်, ကော်လံ 2 အမည်)
တန်ဖိုး (value ကို 1 တန်ဖိုးကို 2) ။
အော်ပရေတာသုံးစွဲဖို့ SQL ကြေညာချက် မျိုးစုံတန်ဖိုးများနှင့်အတူ INSERT အောက်ပါ syntax ကိုအသုံးပြုပါ:
ထဲသို့ထည့်
1 စားပွဲပေါ်မှာအမည် (ကော်လံ 1 အမည်, ကော်လံ name ကို 2)
ကော်လံ name ကို 1, ကော်လံ 2 နာမကိုအမှီ SELECT
စားပွဲပေါ်မှာနာမကိုအမှီ 2 FROM မှ
နေရာအမည်အား 2.imya စားပွဲပေါ်မှာကော်လံ 1> 2
ဤသည်ရှာဖွေမှု 1 ကော်လံ 2 ထက် သာ. ကြီးမြတ်ခြင်းနှင့်ပထမဦးဆုံးသို့သူတို့ကိုငါ paste ဖြစ်သောဇယား 2 မှာဒေတာအားလုံးရွေးချယ်သည်။
UPDATE ။ နာမတော်ကိုအမှီ ပြု. အဓိပ္ပာယ်သက်ရောက်အဖြစ်, ဒီကြေညာချက်ဟာအခြို့သောအခြေခံပေါ်မှာရှိပြီးသားစားပွဲပေါ်မှာအတွက် SQL query က data တွေကို update ။
ဥပမာ:
UPDATE စားပွဲပေါ်မှာအမည်ဖြင့် 1
SET ကော်လံ name = 2 "Basil"
နေရာစားပွဲပေါ်မှာနာမကိုအမှီ 1.imya ကော်လံ 1 = 1
ဒါဟာဖွဲ့စည်းပုံတန်ဖိုးကို Basil ပထမဦးဆုံးကော်လံအရေအတွက်ကို 1 တွေ့ဆုံရန်သမျှတန်းဖြည့်ပါ။
ဖျက်ရန်။ စားပွဲကနေဒေတာတွေကိုဖျက်။ သင်သည်မည်သည့်အခွအေနေကိုသတ်မှတ်နိုင်သည်သို့မဟုတ်အပေါငျးတို့သအတန်းဖယ်ရှားပစ်ရန်။
စားပွဲပေါ်မှာနာမကိုအမှီအဖြစ်မှဖယ်ရှာ
နေရာအမည်အား tablitsy.imya ကော်လံ 1 = 1
အထက်ပါမေးမြန်းချက်ကိုတန်ဖိုးကိုပထမဦးဆုံးကော်လံအတွက်တဦးတည်းနှင့်အတူဒေတာဘေ့စကနေ data အားလုံးကို delete ပါလိမ့်မယ်။ ဒီနေရာတွင်တစ်ခုလုံးကိုစားပွဲပေါ်မှာများကိုရှင်းလင်းနိုင်ပါသည်ဘယ်လိုဖွင့်:
စားပွဲပေါ်မှာနာမကိုအမှီအဖြစ်မှဖယ်ရှာ။
Next ကိုရွေးချယ်ခြင်းကြေညာချက်နှင့် ပတ်သက်. ပြောပြရန်လိုအပ်ပါသည်။ သူကအရေးအပါဆုံးတစ်ခုဖြစ်တယ်, ဒါကြောင့်သူကသီးခြားမျြးအခနျးကွီးမွှုပျနှံဖို့ရှိသည်လိမ့်မယ်။
SELECT ကြေညာချက်
SELECT ၏အဓိကရည်ရွယ်ချက် - အချို့သောအခြေအနေများအရသိရသည်အချက်အလက်များ၏ရွေးချယ်ရေး။ သူ့အလုပ်၏ရလဒ်မှာအမြဲရွေးချယ်ထားသောဒေတာများနှင့်အတူသစ်တစ်ခုစားပွဲပေါ်မှာဖြစ်ပါတယ်။ က MS အော်ပရေတာ SQL SELECT ကွဲပြားခြားနားသောတောင်းဆိုမှုများကိုအလေးချိန်ဖို့အသုံးပြုနိုင်ပါသည်။ ဒါကြောင့်အတူသင်သည်အခြားဆက်စပ်သော့ချက်စာလုံးများထည့်သွင်းစဉ်းစားနိုင်ပါ။
ဒေတာသင်္ကေတများအားလုံးကို select ဖို့ "*" တစ်ဦးအထူးသဖြင့်စားပွဲကနေအသုံးပြုသည်။
* SELECT
စားပွဲပေါ်မှာအမည်ဖြင့် 1 FROM မှ
ဒီစုံစမ်းမှု၏ရလဒ်စားပွဲပေါ်မှာ 1 အနေနဲ့အတိအကျကိုမိတ္တူဖြစ်လိမ့်မည်။
ဒီမှာဇယား 1 မှထွက်ခေါ်ဆောင်သွားသည်ဆိုပါစို့ထားတဲ့နေရာအခြေအနေကော်လံ 1 မှာ 2 ထက် သာ. ကြီးမြတ်အားလုံးတန်ဖိုးများအားဖြင့်ရယူသည်။
* SELECT
စားပွဲပေါ်မှာအမည်ဖြင့် 1 FROM မှ
နေရာအမည်အား 1.imya စားပွဲပေါ်မှာကော်လံ 1> 2
သင်တို့သည်လည်းသာအချို့သောကော်လံလိုအပျကွောငျးရွေးချယ်ရေးအတွက်ကိုသတ်မှတ်နိုင်ပါတယ်။
စားပွဲပေါ်မှာနာမကိုအမှီ 1.imya ကော်လံ 1 SELECT
စားပွဲပေါ်မှာအမည်ဖြင့် 1 FROM မှ
ဒီစုံစမ်းမှု၏ရလဒ်က MS SQL အော်ပရေတာအသုံးပြုခြင်းကော်လံ 1. ၏တန်ဖိုးများနှင့်အတူအားလုံးလိုင်းများအချို့တန်ဖိုးများ, အစားထိုးတွက်ချက်ခြင်းနှင့်အစား၏သင်တန်းအတွက်၎င်း၏ကိုယ်ပိုင်စားပွဲပေါ်မှာဖန်တီးနိုင်ပါလိမ့်မယ်။
SELECT
စားပွဲပေါ်မှာနာမကိုအမှီ 1.imya ကော်လံ 1
စားပွဲပေါ်မှာနာမကိုအမှီ 1.imya ကော်လံ 2
စားပွဲပေါ်မှာနာမကိုအမှီ 1.imya ကော်လံ 3
« = » EQ AS
စားပွဲပေါ်မှာနာမတျော၏စားပွဲပေါ်မှာနာမကိုအမှီ 1.imya ကော်လံ 2 SUMMA AS * 1.imya ကော်လံ 3
စားပွဲပေါ်မှာအမည်ဖြင့် 1 FROM မှ
ဤသည်ထင်ရသောရှုပ်ထွေးစုံစမ်းမှုဇယား 1 အပေါငျးတို့သတန်ဖိုးများကိုဆွဲယူ, ပြီးတော့အသစ်တခုကော်လံနှင့် EQ SUMMA ဖန်တီးပေးပါတယ်။ ပထမဦးစွာဒီရလဒ်ကဘယ်လိုအလုပ်လုပ်တယ်ဆိုတာကိုနားလည်သဘောပေါက်ဘို့, စားပွဲတစ်ခုအဖြစ်ကိုယ်စားပြုနိုင်ပါတယ်ထုတ်ကုန် 2 ၏ဒုတိယဒေတာကော်လံနှင့် 3. "+" နိမိတ်ဝင်သော:
ကော်လံ 1 | ကော်လံ 2 | ကော်လံ 3 | EQ | SUMMA |
ကုန်ပစ္စည်းအမည် 1 | 10 | 50 | + | 500 |
ကုန်ပစ္စည်းအမည် 2 | 15 | 100 အ | + | 1500 |
သင်တစ်ဦး SELECT ကြေညာချက်ကိုအသုံးပြုနေလျှင်, သင်ချက်ချင်းမဆိုမြေပြင်ပေါ်တွင်ဒေတာကိုမိန့်ဖြုန်းနိုင်ပါ။ ဒါဟာစကားလုံးအမိန့်ဖြင့်အသုံးပြုသည်။
SELECT
စားပွဲပေါ်မှာနာမကိုအမှီ 1.imya ကော်လံ 1
စားပွဲပေါ်မှာနာမကိုအမှီ 1.imya ကော်လံ 2
စားပွဲပေါ်မှာနာမကိုအမှီ 1.imya ကော်လံ 3
စားပွဲပေါ်မှာအမည်ဖြင့် 1 FROM မှ
ကော်လံ name ကို 2 BY ORDER
ရရှိလာတဲ့စားပွဲပေါ်မှာဤကဲ့သို့သောကြည့်ရှုမည်:
ကော်လံ 1 | ကော်လံ 2 | ကော်လံ 3 |
1 | 1 | 54 |
3 | 2 | 12 |
7 | 3 | 100 အ |
2 | 5 | 1 |
အကြောင်း, အပေါငျးတို့သလိုင်းများကော်လံ 2 တန်ဖိုးများကိုတက်ခဲ့ထိုကဲ့သို့သောထုံးစံ၌ installed ပြီဖြစ်ပါတယ်။
ဒေတာတွင်မျိုးစုံကိုစားပွဲကနေရယူနိုင်ပါတယ်။ ရှင်းလင်းပြတ်သား, သင်ပထမဦးဆုံးသူတို့နှစ်ဦးကိုရှိသည်သောစိတ်ကူးရမယ်, အခြို့ database တွင်နေသောခေါင်းစဉ်:
စားပွဲတင် "ဝန်ထမ်းများ"
ဂဏန်း | နာမတျောကို | မြိုးရိုးအမညျ |
1 | Vasya | Vasin |
2 | Petya | Petin |
စားပွဲတင် "လစာ"
ဂဏန်း | မှုနှုန်း | အတူအသိအမှတ်ပြု |
1 | 1 | 10000 |
2 | 0.5 | 3500 |
ယခုတွင်သင်သည်ထိုကဲ့သို့သောဘုံတန်ဖိုးများကိုရရှိရန်ကျောက်ပြားနှစ်ပြားချိတ်ဆက်အဖြစ်, လိုအပ်ပါတယ်။ အောက်ပါအတိုင်းသည်အတိုင်းပြုရနိုင်အခြေခံ SQL statement တွေကိုအသုံးပြုခြင်း:
SELECT
Sotrudniki.Nomer
Sotrudniki.Imya
Zarplata.Stavka
Zarplata.Nachisleno
ဝန်ထမ်းများလစာ FROM မှ
နေရာ Sotrudniki.Nomer = Zarplata.Nomer
အရေအတွက်အားဖြင့်စည်းလုံးတန်ဖိုးနှစ်ခုကွဲပြားခြားနားသောစားပွဲကနေရယူရှိပါသည်။ အဆိုပါရလဒ်အချက်အလက်များ၏အောက်ပါအစုံသည်:
ဂဏန်း | နာမတျောကို | မှုနှုန်း | အတူအသိအမှတ်ပြု |
1 | Vasya | 1 | 10000 |
2 | Petya | 0.5 | 3500 |
အဆိုပါ SELECT အကြောင်းကိုအနည်းငယ်ပို။ စုစုပေါင်းလုပ်ဆောင်ချက်များကိုအသုံးပြုခြင်း
အခြေခံ SQL SELECT ထုတ်ပြန်ချက်များတစ်ခုမှာနမူနာအချို့တွက်ချက်မှုထုတ်လုပ်နိုင်သည်။ ဒီလိုလုပ်ဖို့, သူအချို့လုပ်ငန်းဆောင်တာများနှင့်ဖော်မြူလာကိုအသုံးပြုသည်။
ဥပမာအားဖြင့်, စားပွဲကနေမှတ်တမ်းများအရေအတွက်ကိုရရန် "ဝန်ထမ်းများ", သင်စုံစမ်းမှုသုံးစွဲဖို့မလိုအပ်:
SELECT နောက် COUNT (*) N က AS
ဝန်ထမ်းများ FROM မှ
အဆိုပါရလဒ်များထဲမှကော်လံနှင့်တန်ဖိုးနှင့်အတူစားပွဲတစ်ခုဖြစ်လိမ့်မည်။
N ကို |
2 |
function ကိုပေါင်းလဒ်, အများဆုံးနှင့်အနည်းဆုံးတန်ဖိုးများနှင့်ပျှမ်းမျှတွက်ချက်ကြောင်းမေးမြန်းချက်များတွင်အသုံးပြုနိုင်ပါသည်။ ဒီလိုလုပ်ဖို့, သော့ချက်စာလုံးများ sum, MAX, MIN, AVG အသုံးပြုကြသည်။
ဥပမာအားဖြင့်, ကရှိပြီးသားလူသိများ "လစာ" စားပွဲတစ်နမူနာကျင်းပရန်လိုအပ်လျှင်ဖြစ်ပါသည်:
ဂဏန်း | မှုနှုန်း | အတူအသိအမှတ်ပြု |
1 | 1 | 10000 |
2 | 0.5 | 3500 |
သငျသညျထိုကဲ့သို့သောတောင်းဆိုချက်ကိုလျှောက်ထားခြင်းနှင့်ဖြစ်ပျက်မြင်နိုင်ပါသည်:
SELECT
SUMMA AS sum (Zarplata.Nachisleno)
MAX AS MAX (Zarplata.Nachisleno)
MIN AS သည် MIN (Zarplata.Nachisleno)
SRED AS AVG (Zarplata.Nachisleno)
လစာ FROM မှ
အောက်မှာဖော်ပြထားတဲ့အတိုင်းနောက်ဆုံးစားပွဲပေါ်မှာဖြစ်လိမ့်မည်:
SUMMA | MAX | MIN | SRED |
13500 | 10000 | 3500 | 6750 |
ဒါကလမ်းဖွင့်, သငျသညျအမြိုးမြိုးသောလုပ်ငန်းဆောင်တာတစ်ခုတွက်ချက်မှုလုပ်ဆောင်ဖို့ယင်ကောင်အပေါ်သင့်လျော်သောတန်ဖိုးများတဲ့ဒေတာဘေ့စထဲကနေရွေးချယ်နိုင်သည်။
သမဂ္ဂ, လမ်းဆုံနှင့်ခြားနားချက်
SQL အတွက်မျိုးစုံမေးမြန်းချက်ပေါင်းစပ်
Sotrudniki.Imya SELECT
ဝန်ထမ်းများ FROM မှ
နေရာ Sotrudniki.Nomer = 1
ပြည်ထောင်စု
Sotrudniki.Imya SELECT
ဝန်ထမ်းများလစာ FROM မှ
နေရာ Zarplata.Nomer = 1
ဒါဟာအသင်းအဖွဲ့ table ထဲမှာသဟဇာတဖြစ်ရမည်ဟုစိတ်တွင်ဘွားမြင်ရပါမည်။ ဒါကကော်လံ၏တူညီသောအရေအတွက်ရှိသည်ဖြစ်ပါသည်။
အဆိုပါ SELECT ကြေညာချက်၏ syntax နှင့်အပြောင်းအလဲနဲ့များအတွက်လုပ်ထုံးလုပ်နည်း
ပထမဦးဆုံးအရာ SELECT က data တွေကိုယူလတံ့သောအနေဖြင့်ဧရိယာဆုံးဖြတ်သည်။ ဒီလိုလုပ်ဖို့, FROM မှ keyword ကိုသုံးပါ။ မသတ်မှတ်ရသေးပါလျှင်အဘယ်ကိုရှေးခယျြဖို့။
သို့ဖြစ်လျှင်သင်သည်အဘယ်မှာရှိ SQL ကြေညာချက်ကိုတင်ပြနိုင်ပါတယ်။ SELECT ၏အကူအညီနှင့်အတူစားပွဲအသီးအသီးတန်းမှတဆင့်ပြေးနှင့်အခြေအနေကိုနှင့်အတူလိုက်နာမှုများအတွက်ဒေတာ check လုပ်ပေးပါတယ်။
အဆိုပါမေးမြန်းချက်ကိုတစ် GROUP BY ရှိပါတယ်လျှင်, ထိုအ parameters များကိုတန်ဖိုးအာဆီယံရဲ့ရှိသေး၏။
ဒေတာနှိုင်းယှဉ်ရန်အော်ပရေတာ
သူတို့ကတော်တော်များများအမျိုးအစားများရှိသည်။ SQL နှင့်နှိုင်းယှဉ်လျှင်အော်ပရေတာအတွက်တန်ဖိုးများကိုအမျိုးမျိုးစမ်းသပ်နိုင်ပါတယ်။
"=" ။ သငျသညျ, နှစ်ခုအသုံးအနှုန်းတွေ၏တန်းတူရေးခန့်မှန်းမယ်အဖြစ်ရည်ညွှန်းတယ်။ နေရာ Zarplata.Nomer = 1 - ဥပမာ, ပြီးသားအပေါ်ကဥပမာမှာအသုံးပြုခဲ့တာဖြစ်ပါတယ်။
">" ။ သာ. ကွီးမွတျ-ထက်နိမိတ်လက္ခဏာ။ ဟူသောအသုံးအနှုနျးမြား၏လက်ဝဲဘက်ခြမ်း၏တန်ဖိုးသည်ယုတ္တိစစျမှနျသောပြန်ရောက်သည်နှင့်အခွအေနနဲ့တွေ့ဆုံခဲ့တာဖြစ်ပါတယ်ထို့နောက် သာ. ကြီးမြတ်သည်လျှင်။
"<" ။ နိမိတ်လက္ခဏာထက်လျော့နည်း။ ယခင်အော်ပရေတာ reverse ။
"<=" နှင့် "> =" ၏အရိပ်လက္ခဏာ။ ဒါဟာပိုပြီးနည်းတန်းတူ operands နှင့်အတူအခွအေနေလည်းစစ်မှန်တဲ့ဖြစ်ပါတယ်ရိုးရှင်းသောအော်ပရေတာအနေဖြင့်ကွဲပြားနေသည်။
"<>" ။ ငါဂရုမစိုက်ပါဘူး။ တစ်ဦးတည်းသာ operand အခြားညီမျှမပါလျှင်အဆိုပါအခွအေနေ, TRUE စဉ်းစားသည်။ သူတဦးတည်းကိုပိုမိုအနက်ရှိပါတယ် - "=!" ။
LIKE
ဒီသော့ချက်စာလုံးအဖြစ်နိုင်ပါတယ် Translate "အလားတူ။ " SQL အတွက်အော်ပရေတာတူညီမူအရအပေါ်ခန့်မှန်းခြေအားဖြင့်အသုံးပြုသည် LIKE - တစ်ဦး template ကိုကနေစုံစမ်းမှုပြေး။ ဒါကြောင့်သင်က regular expressions ကိုသုံးပြီးဒေတာဘေ့စကနေနမူနာ data တွေကိုချဲ့ထွင်ဖို့ခွင့်ပြုမှာဖြစ်ပါတယ်။
အဆိုပါပြီးသားလူသိများအခြေစိုက်စခန်း "ဝန်ထမ်း" အမညျ "ငါ" နှင့်အတူကုန်ဆုံးသည်လူအပေါင်းတို့ကိုရမှ: ဥပမာ, ထိုကဲ့သို့သောတာဝန်သတ်မှတ်။ အောက်မှာဖေါ်ပြတဲ့အတိုင်းထိုအခါတောင်းဆိုမှုကိုရေးစပ်နိုင်ပါတယ်:
* SELECT
ဝန်ထမ်းများ FROM မှ
နေရာအမည် `% I`ll LIKE
ဤအမှု၌ရာခိုင်နှုန်းကနိမိတ်လက္ခဏာကိုမျက်နှာဖုံးသောဖြစ်ပါသည်, မည်သည့်ဇာတ်ကောင်များနှင့်၎င်းတို့၏အရေအတွက်ကိုဆိုလိုသည်။ ထိုအခါစာ၌, "ငါ SQL ပြီးခဲ့သည့်ဇာတ်ကောင်ကြောင်းလမ်းဖြစ်ကြောင်းဆုံးဖြတ်သည်»။
ပြဿနာ
ဒါကကြေညာချက် SQL Server မျိုးစုံရွေးချယ်မှုတစ်ခုအကောင်အထည်ဖော်မှုဖြစ်ပါတယ်။ ဒါဟာအများအပြားပရိုဂရမ်းမင်းဘာသာစကားများအတွက် switch ကိုကြေညာချက်ဆင်တူပါသည်။ SQL အတွက်ပြဿနာကြေညာချက်အများအပြားအခြေအနေများတခုတခုအပေါ်မှာအရေးယူလုပ်ဆောင်တယ်။
ဥပမာအားဖြင့်, သင်သည်စားပွဲတစ်ခု "လစာ" အများဆုံးနှင့်အနည်းဆုံးတန်ဖိုးများကနေ select လုပ်ပါ။
ဂဏန်း | မှုနှုန်း | အတူအသိအမှတ်ပြု |
1 | 1 | 10000 |
2 | 0.5 | 3500 |
အောက်မှာဖေါ်ပြတဲ့အတိုင်းထိုအခါတောင်းဆိုမှုကိုရေးစပ်နိုင်ပါတယ်:
* SELECT
လစာ FROM မှ
နေရာပြဿနာတဲ့အခါ SELECT MAX (အားသွင်းနေပါသည်) ထို့နောက်အများဆုံး
WHEN တွင် SELECT MIN (အားသွင်းနေပါသည်) ထို့နောက်နိမ့်ဆုံး
END သည်ရလဒ်
ဤအခြေအနေတွင်ရှိ "အားသွင်းပြီး" ကော်လံအတွက်စနစ်အများဆုံးနှင့်အနည်းဆုံးတန်ဖိုးလှပါတယ်။ ထို့နောက်အခြေအနေကို၏ရလဒ်ပေါ် မူတည်. က "အမြင့်ဆုံး" သို့မဟုတ် "နိမ့်ဆုံး" တွင် logged ပါလိမ့်မည်သည့် "စုစုပေါင်း" ဖန်တီး END သည်လယ်ပြင်, ကိုသုံးနိုင်သည်။
COALESCE - စကားမစပ်, SQL အတွက်ပြဿနာတစ်ခုကပိုကျစ်လစ်သိပ်သည်းပုံစံရှိပါတယ်။
ဒေတာကိုအဓိပ်ပါယျ
ဒီအမြင်ကိုသင်ပြောင်းလဲနေတဲ့စားပွဲအမျိုးမျိုးထွက်သယ်ဆောင်ရန်ခွင့်ပြု - ဖန်တီးဖို့, delete, ပြုပြင်ခြင်းနှင့်အညွှန်းကိန်းနှင့်အတူအလုပ်လုပ်ကြသည်။
TABLE CREATE - စဉ်းစားရကျိုးနပ်သောပထမဦးဆုံးတဦးတည်း။ သူကစားပွဲတစ်ခုကိုထက်ဘာမှမရှိပါဘူး။ သငျသညျရိုးရှင်းစွာ TABLE စုံစမ်းမှု CREATE ရိုက်ထည့် အကယ်. အများအပြားပိုပြီး parameters များကိုသတ်မှတ်ဖို့လိုအပ်သောကွောငျ့, ဘယ်အရာကိုမျှမဖြစ်ပျက်ပါလိမ့်မယ်။
ဥပမာ, အကျွမ်းတဝင်စားပွဲပေါ်မှာဖန်တီးရန် "ဝန်ထမ်းများမှာ" command ကိုအသုံးပြုချင်:
TABLE န်ထမ်း CREATE
null မဟုတ်ပါ (ID နံပါတ် (10)
အမည် varchar (50) null မဟုတ်ပါ
နောက်ဆုံးအမည် varchar (50) မ null)
ဤတောင်းဆိုမှုကိုမှာတော့ကွင်းများတွင်ချက်ချင်းလယ်ကွင်းအမည်များနှင့်၎င်းတို့၏အမျိုးအစားများကိုသတ်မှတ်အဖြစ်ကြောင့် null နိုင်ပါတယ်ရှိမရှိ။
DROP TABLE
ကပြောသည်စားပွဲပေါ်မှာဖယ်ရှားခြင်း - ရိုးရှင်းတဲ့လုပ်ငန်းတာဝန်ဆောင်ရွက်။ ဒါဟာ IF တည်ရှိကာအပိုဆောင်း option ကိုရှိပါတယ်။ မဖျက်ပစ်သည့်အခါလိုအပ်သောစားပွဲပေါ်မှာမတည်ရှိပါဘူးဆိုရင်ဒါဟာမှားယွင်းမှုတစ်ခုစုပ်ယူ။ အသုံးပြုမှုဥပမာ:
ရှိမရှိ TABLE န်ထမ်း drop ။
INDEX CREATE
SQL ခုနှစ်တွင်, ဒေတာမှပိုမြန် access ကိုခွင့်ပြုတော်မူသောညွှန်းကိန်းတစ်ခုစနစ်, ရှိနေပါသည်။ ယေဘုယျအားဖြင့်, တကအထူးသဖြင့်ကော်လံထောက်ပြသည်တဲ့ link ကိုဖြစ်ပါတယ်။ တစ်ဦးအညွှန်းကိန်းရိုးရှင်းတဲ့တောင်းဆိုမှုကိုနိုင်ပါတယ် Create:
INDEX nazvanie_indeksa CREATE
nazvanie_tablitsy (nazvanie_stolbtsa) ON
ကို T-SQL, Oracle က, PL SQL နဲ့တခြားအဓိပ္ပာယ်ကောက်ယူနည်းပညာများ၌ဤကြေညာချက်ကိုသုံးပါ။
TABLE ALTER
မြောက်မြားစွာ options များနှင့်အတူမြင့်မားအလုပ်လုပ်တဲ့အော်ပရေတာ။ ယေဘုယျအားဖြင့်အပြောင်းအလဲကိုတစ်ဖွဲ့စည်းပုံမှာချက်နှင့်အဓိပ္ပါယ်နှင့်ခွဲဝေစားပွဲထုတ်လုပ်သည်။ အော်ပရေတာဟာ Oracle SQL, Postgres နှင့်များစွာသောအခြားသူတွေအတွက်အသုံးပြုသည်။
ကိုးကားစရာယခု ALTER TABLE သုံးပြီးအမျိုးမျိုးသော options များနှင့်အတူတင်ပြပါလိမ့်မယ်။
ADD ။ စားပွဲတစ်ခုအတွက်တစ်ကော်လံ၏ထို့အပြင်ထွက်သယ်ဆောင်။ သူ့ကိုဒီ syntax: nazvanie_tablitsy nazvanie_stolbtsa tip_hranimyh_dannyh ADD TABLE ALTER ။ မရှိမရှိတဲ့ parameter သည်ရှိသည်, တစ်ကော်လံပြီးသားဖန်တီးမူလျှင်မှားယွင်းမှုတစ်ခုဖိနှိပ်ထားတဲ့နိုင်သလား;
drop ။ ကော်လံဖယ်ရှားပေးသည်။ ရှိမရှိလည်းမေတ္တာရပ်ခံကော်လံမတည်ရှိပါဘူးဟုမှားယွင်းမှုတစ်ခု generate တံ့သော, ပြီးစီးခဲ့သည်,
ပြောင်းလဲခြင်း။ သတ်မှတ်ထားသောလယ်ပြင်အမည်အားအမည်ပြောင်းရန်ကိုအသုံးပြုခဲ့သည်။ ဥပမာအားအသုံးပြုမှု: TABLE ပြောင်းလဲခြင်း ALTER nazvanie_tablitsy OldName NEW_NAME;
ပြုပြင်မွမ်းမံ။ ဒီ command တစ်ဦးအထူးသဖြင့်ကော်လံများနှင့်အပိုဆောင်း attribute တွေအမျိုးအစားကိုပြောင်းလဲစေပါလိမ့်မယ်။ ထိုသို့ဤကဲ့သို့သောအသုံးပြုသည်: TABLE ALTER nazvanie_tablitsy nazvanie_stolbtsa datatype attribute တွေပြုပြင်မွမ်းမံ;
VIEW CREATE
SQL ခုနှစ်, စိတ်ကူးတစ်ခုကဲ့သို့သောအရာလည်းမရှိ။ တိုတိုမှာ, ဒေတာနှင့်အတူကို virtual table ၏တစ်ဦးကြင်ကြင်နာနာဖြစ်ပါတယ်။ ဒါဟာဘာသာစကား SQL SELECT ကြေညာချက်သုံးပြီးနမူနာ၏ရလဒ်အဖြစ်ဖွဲ့စည်းသည်။ views အစစ်အမှန်ကော်လံအမည်များကိုအစားထိုးဖို့, သူတို့ကိုဖုံးကွယ်ဖို့ဒေတာဘေ့စမှဝင်ရောက်ခွင့်ကန့်သတ်ထားနိုင်ပါတယ်။
ခြင်း၏ဖြစ်စဉ်ကိုရိုးရှင်းတဲ့မေးမြန်းမှုအားဖြင့်ဖြစ်ပေါ်:
* စားပွဲ name ကို FROM မှ AS SELECT VIEW အမြင် name ကို CREATE
နမူနာတစ်ခုလုံးအဖြစ်တစ်ခုလုံးဒေတာဘေ့စအဖြစ်ရာအရပျကို ယူ. , တယောအခြေအနေဖြစ်နိုင်သည်။
အဆိုပါအင်္ဂါရပ်များနှင့် ပတ်သက်. အနည်းငယ်
SQL queries များအတွက်မကြာခဏသင်ဒေတာတွေနဲ့အပြန်အလှန်နှင့်ယင်ကောင်မှာသူတို့ကိုပြောင်းလဲခွင့်ပြုကြောင်းကွဲပြားခြားနားသော built-in function တွေကိုသုံးပါ။ သူတို့တစ်တွေစနစ်တကျဘာသာစကား၏အရေးပါသောအစိတ်အပိုင်းတစ်ခုဖြစ်ကြောင်းအဖြစ်ကသူတို့ကိုထည့်သွင်းစဉ်းစားရကျိုးနပ်သည်။
COUNT ဦး။ တစ်ဦးအထူးသဖြင့် table ထဲမှာရေတွက်တန်းစီသို့မဟုတ် entries တွေကိုထုတ်လုပ်သည်။ တစ်ခု option ကိုအမျှ, သင်ကော်လံ name ကိုသတ်မှတ်နိုင်သည်, ထို့နောက်ဒေတာသူ့ထံမှယူလိမ့်မည်။ ဝန်ထမ်းများ FROM မှ SELECT နောက် COUNT *;
AVG ။ ဒီ feature သာဂဏန်းဒေတာတွေနဲ့ကော်လံသက်ဆိုင်သည်။ ယင်း၏ရလဒ်အားလုံးတန်ဖိုးများ၏ဂဏန်းသင်္ချာဆိုလို၏ပြဌာန်းခွင့်ရှိ၏
MIN နှင့် MAX ။ ဤရွေ့ကားလုပ်ငန်းဆောင်တာဒီဆောင်းပါးအတွက်အသုံးပြုခဲ့ကြသည်။ သူတို့ကအမြင့်ဆုံးဟုကော်လံ၏နိမ့်ဆုံးတန်ဖိုးများကိုသတ်မှတ်;
sum ။ ဒါဟာရိုးရှင်းတဲ့င် - function ကိုတစ်ကော်လံအတွက်တန်ဖိုးများများ၏ပေါင်းလဒ်တွက်ချက်။ ဒါဟာဂဏန်းဒေတာအမျိုးအစားများအတွက်သီးသန့်အသုံးပြုသည်။ ကွဲပြားတောင်းဆိုမှု parameter သည်ထည့်သွင်းခြင်း, သာထူးခြားသောတန်ဖိုးများကိုထည့်သွင်းပါလိမ့်မည်;
round ။ ဒဿမဒဿမကိန်းဂဏန်းရှာနိုင်ပါတယ် function ။ ကော်လံ name နဲ့ဒဿမသောအရပ်နှင့်အရေအတွက်အားဖြင့်အသုံးပြုတဲ့ syntax;
LEN ထက်ပို။ ကော်လံ၏အရှည်တွက်ချက်သောရိုးရှင်းတဲ့ function ကို။ အဆိုပါရလဒ်ဇာတ်ကောင်များအရေအတွက်ဖေါ်ပြခြင်းအသစ်တခုကိုစားပွဲဖြစ်လိမ့်မည်
NOW က။ ဤသည် keyword ကိုလက်ရှိနေ့စွဲနှင့်အချိန်ကိုတွက်ချက်ရန်အသုံးပြုသည်။
အပိုဆောင်းအော်ပရေတာ
အဆိုပါ SQL statement တွေကိုအတော်များများဟာဥပမာသေးငယ်တဲ့အလုပ်တွေကိုလုပ်ဆောင်ကြောင်းသော့ချက်စာလုံးများဖြစ်ကြသည်, ဒါပေမယ့်လက်ထက်ကိုအလွန်နမူနာသို့မဟုတ်ဒေတာဘေ့စလှုပ်ရှားမှုရိုးရှင်း။
AS ။ သငျသညျအမြင်အာရုံစားပွဲတစ်ခုရရန်သတ်မှတ်ထားသော name ကိုတာဝန်ပေးဖို့၏ရလဒ်စီစဉ်ဖို့လိုတဲ့အခါဒါဟာအသုံးပြုသည်။
အကွား။ နမူနာအဘို့အလွန်အသုံးကိရိယာတခုဖြစ်တယ်။ ဒါဟာ data တွေကိုရယူရန်လိုအပ်ကြောင်းအပါအဝင်တန်ဖိုးများ၏အကွာအဝေး, ဖော်ပြသည်။ အဆိုပါ input ကို parameter သည်နံပါတ်တစ်ခုအကွာအဝေးကိုအသုံးပြုသည်နှင့်မှလက်ခံ၏။
မဟုတ်ပါ။ အဆိုပါအော်ပရေတာဟူသောအသုံးအနှုနျးမြား၏ဆန့်ကျင်ဘက်ပေးသည်။
TRUNCATE ။ ကပြောသည်အခြေစိုက်စခန်းသောအဘို့ကိုအနေဖြင့်ဒေတာများဖယ်ရှားပေးသည်။ မဖြစ်နိုင်တာက၎င်း၏အသုံးပြုမှုကိုအပြီးဒေတာ recover သောသူတို့ကိုအော်ပရေတာအနေဖြင့်ကွဲပြားခြားနားသော။ ဒါဟာကွဲပြားခြားနားသော SQL အတွက်ပေးထားသောသော့ချက်စာလုံးများ၏အကောင်အထည်ဖော်မှုကွဲပြားခြားနားသောအဓိပ္ပာယ်ကောက်ယူနိုင်ပါတယ်သည်ဟုထုတ်ပြန်ချက်တွင်ဖော်ပြထားသည်တန်ဖိုးရှိပါတယ်။ သငျသညျနောက်ခံအချက်အလက်တွေနဲ့ပိုကောင်းတဲ့ကြှမျးဝငျ, ခြင်းကိုသုံးစွဲဖို့ကြိုးစားကြမတိုင်မီဒါ။
သည် LIMIT ။ output ကိုလိုင်းအရေအတွက်ကိုသတ်မှတ်ပေးသည်။ အော်ပရေတာများ၏ပိုင်ထိုက်သောကြောင့်အမြဲတမ်းအဆုံးတွင်တည်ရှိပြီးသောကွောငျ့ဖွစျသညျ။ ဒါဟာမဖြစ်မနေတယောက်နှင့်တယောက် optional ကို parameter သည်ကြာပါသည်။ ပထမဦးဆုံးပြသနိုင်ဖို့မည်မျှတန်းစီရွေးချယ်ထားသောဒေတာများနှင့်အတူဖော်ပြသည်။ ဒုတိယလျှင်, ထို့နောက်အော်ပရေတာတန်ဖိုးများ၏အကွာအဝေးနှစ်ဦးစလုံးလုပ်ကိုင်လျက်ရှိကြောင်းသိရသည်။
ပြည်ထောင်စု။ မျိုးစုံမေးမြန်းချက်ပေါင်းစပ်ရန်အလွန်အသုံးပြုသူ-ဖော်ရွေအော်ပရေတာ။ သူပြီးသားဤဆောင်းပါးကို၌ဤများ၏ဥပမာများအကြားတွေ့ဆုံခဲ့သိရသည်။ သငျသညျပြည်ထောင်စုပိုမိုအဆင်ပြေအသုံးပြုမှုအဘို့ထိုသူတို့ပေါင်းစပ်ပြီး, မျိုးစုံစားပွဲကနေအတန်းကိုပြသနိုင်ပါတယ်။ သူ့ကိုဒီ syntax: imya_drugogo_stolbtsa imya_drugoy စားပွဲပေါ်မှာ FROM မှစားပွဲပေါ်မှာပြည်ထောင်စု SELECT FROM မှ column_name SELECT ။ အဆိုပါရလဒ်အတွက်စည်းလုံးတောင်းဆိုချက်တွေတစ်ဦးအကျဉ်းချုပ်စားပွဲပေါ်မှာဖြစ်ပါတယ်။
PRIMARY KEY ကို။ အဖြစ်ဘာသာပြန်ထားသော "အဓိကသော့ချက်။ " တကယ်တော့ထိုကဲ့သို့သောဝေါဟာရများကိုကိုးကားပစ္စည်းများအတွက်အသုံးပြုသည်။ သူကအတန်းတစ်မူထူးခြားတဲ့အမှတ်အသားဖြစ်ပါတယ်။ စားပွဲတစ်ခုဖန်တီးသောအခါဒါဟာဆံ့လိမ့်မည်ဟုလယ်ပြင်ညွှန်ပြရန်, စည်းကမ်းအဖြစ်အသုံးပြုသည်။
default ။ ရုံမေးမြန်းမှုအတွက်အကောင်အထည်ဖော်ရာတွင်အသုံးပြုယခင်အော်ပရေတာအဖြစ်။ ဒါဟာနေသူများကဖန်တီးသောအခါထိုလယ်၌ပြည့်စုံလိမ့်မည်သည့်က default တန်ဖိုးသတ်မှတ်ပါတယ်။
SQL နှင့်အတူအလုပ်လုပ်များအတွက်ပလက်ဖောင်းဖွံ့ဖြိုးတိုးတက်ဖို့အနည်းငယ်အကြံပေးချက်များ
null ။ တောင်းဆိုမှုများ၏ပြင်ဆင်မှုအတွက် Beginners နှင့်မယ့်ပရိုဂရမ်မကြာခဏ null တန်ဖိုးရရှိမှုနှင့် ပတ်သက်. မေ့လျော့။ ရလဒ်အဖြစ် code ကိုအမှားဟာအမှားရှာခြင်းလုပ်ငန်းစဉ်အတွက်ခြေရာခံဖို့ခက်ခဲပြီးအရာအတွက်တွားတတ်သော။ စားပွဲတစ်ခုအတွက်သို့မဟုတ်ပြန်လည်တွက်ချက်သည့်အခါထိုကွောငျ့, နမူနာတန်ဖိုးများကို null ဖြစ်ပျက်မှုကမေးခွန်းဧရိယာထဲမှာအကောင့်သို့ခေါ်ဆောင်သွားသည်ကိုရှိမရှိကိုရပ်တန့်ခြင်းနှင့်စဉ်းစားရန်လိုအပ်၏။
မှတ်ဉာဏ်။ ဤစာတမ်းတွင်ငါတို့သည်အချို့သောတာဝန်များကိုဖျော်ဖြေနိုင်စွမ်းလုပ်ဆောင်ချက်များကိုတစ်အရေအတွက်ပြသခဲ့ကြသည်။ အဆိုပါဒေတာဘေ့စနှင့်အတူအလုပ်လုပ်ရန် shell ကို၏ဖွံ့ဖြိုးတိုးတက်မှုအတွက်, သင်ဒေတာဘေ့စစနစ်ရိုးရှင်းသောအသုံးအနှုန်းတွေ၏တွက်ချက်မှု "ထင်ရှားသော" နိုငျသညျ။ အချို့ကိစ္စများတွင်, ဒီစွမ်းဆောင်မှုအတွက်သိသာထင်ရှားသောတိုးတက်မှုပေးသည်။
ကန့်သတ်။ သငျသညျတန်းနှစ်ခုသာထောင်ပေါင်းများစွာ၏အတူဒေတာဘေ့စကနေရယူချင်လျှင်၎င်းသည်ထိုကဲ့သို့သော LIMIT သို့မဟုတ် TOP အဖြစ်အော်ပရေတာသုံးစွဲဖို့လိုအပ်ပေသည်။ ဘာသာစကားဖွံ့ဖြိုးတိုးတက်မှု၏အခွံအားဖွငျ့ data တွေကို retrieve ရန်မလိုအပ်ပါဘူး။
ချိတ်ဆက်ပါ။ အတော်ကြာစားပွဲကနေအချက်အလက်များ၏လက်ခံရရှိအပေါ်သို့, များစွာသော programmer တွေအတူတူသူတို့ကိုလျှော့ချရန်စတင်မှတ်ဉာဏ်နည်းလမ်းများ envelope ။ သို့သော်အဘယ်ကြောင့်? ပြီးနောက်ရှိသမျှတို့, သငျသညျကအားလုံးကိုပစ္စုပ္ပန်ဖြစ်လိမ့်မည်သည့်အတွက်တောင်းဆိုမှုစေနိုင်သည်။ သငျသညျတခါကုဒ်ရေးနှင့်စနစ်အတွက်အပိုဆောင်း memory ကိုကြိုတင်ယူထားရန်မလိုပါ။
Sorting ။ ကတောင်းဆိုမှုကိုအတွက်စည်းမျဉ်းလျှောက်ထားရန်ဖြစ်နိုင်ပါလျှင်၎င်း, DBMS တပ်ဖွဲ့များဖြစ်ပါသည်, အဲဒါကိုသုံးစွဲဖို့လိုအပ်ပေသည်။ အခါအစီအစဉ်ကိုသို့မဟုတ်ဝန်ဆောင်မှုဤသည်ကိုအလွန်အရင်းအမြစ်များအပေါ်ကယ်တင်မည်။
အတော်များများကတောင်းဆိုမှုများ။ သငျသညျ sequence ကိုအတွက်မှတ်တမ်းများအများကြီးထည့်သွင်းဖို့ရှိသည်လျှင်, optimization packet ကိုဒေတာတစျခုတောငျးဆိုခကျြထည့်စဉ်းစားသင့်ပါတယ်။ ဤသည်ကိုလည်းတပြင်လုံးကိုစနစ်၏စွမ်းဆောင်ရည်ကိုတိုးမြှင့်မည်ဖြစ်သည်။
အချက်အလက်များ၏သတိထားနေရာချထား။ ခြေရင်းဖွဲ့စည်းပုံကိုတက်ဆွဲခင်မှာဘယ်လိုလိုအပ်ပါကစားပွဲနှင့်လယ်ယာ၏ထိုကဲ့သို့သောအရေအတွက်ကိုရှိမရှိစဉ်းစားရန်လိုအပ်သည်။ ဒီတစ်ခါလည်းသူတို့ကိုပေါင်းစပ်, ဒါမှမဟုတ်တချို့အရှုံးမပေးဖို့လမ်းလည်းမရှိ။ အလွန်မကြာခဏ programmer တွေဘယ်နေရာမှာနှင့်ဘယ်တော့မှအသုံးပြုသောကြောင်းဒေတာတစ်ခုအလွန်အကျွံငွေပမာဏကိုသုံးပါ။
အမျိုးအစားများ။ အာကာသနှင့်အရင်းအမြစ်များကိုကယ်တင်ရန်အသုံးပြုသည့်ဒေတာအမျိုးအစားများမှအထိခိုက်မခံဖြစ်ဖို့လိုအပ်ပါတယ်။ သငျသညျမှတျဉာဏျအမျိုးအစားတစ်ခုလျော့နည်း "မိုးသည်းထန်စွာ" ၏အားသာချက်ယူနိုင်လျှင်, သင်သည်သူ၏အမည်ကိုသုံးစွဲဖို့ရှိသည်။ ဒါကြောင့်ဒီလယ်ပြင်၌ရှိသောကြောင်းလူသိများသည်ဆိုပါကအဘယ်ကြောင့် 4-byte INT ၏အသုံးပြုမှုကို 1 က byte ရှိပါတယ် TINYINT လျှင်ဥပမာအားဖြင့်တစ်ဂဏန်းတန်ဖိုးကို, 255 ထက်မပိုပါလိမ့်မယ်။
ကောက်ချက်
နိဂုံးချုပ်မှာ, ဘာသာစကားကို SQL queries များပုံဖွဲ့စည်းခဲ့ကြောင်းမှတ်သားရပါမည်ယခုနီးပါးနေရာတိုင်းကိုအသုံးပြုသည် - ဝဘ်ဆိုဒ်များ, ကို web န်ဆောင်မှုများ, desktop ပေါ်မှာဆော့ဖျဝဲ, မိုဘိုင်း application များ။ ထို့ကြောင့်, SQL အသိပညာဖွံ့ဖြိုးတိုးတက်မှု၏ကဏ္ဍအားလုံးတွင်ကူညီပါလိမ့်မယ်။
သို့သော်မိခင်ဘာသာစကားစံ၏ပြုပြင်မွမ်းမံတစ်ခါတစ်ရံတစ်ဦးချင်းစီကတခြားကနေကွဲပြား။ ဥပမာအားဖြင့်, PL SQL အော်ပရေတာ SQL Server အတွက်ထက်ကွဲပြားခြားနားသော syntax နိုင်ပါသည်။ သင်ဤနည်းပညာနှင့်အတူဖွံ့ဖြိုးဆဲမစတင်မီဒါကြောင့်လမ်းညွှန်ချက်ဖြင့်အတူခင်မင်သိကျွမ်းရရန်လိုအပ်သည်။
အဆိုပါ SQL functionality နဲ့စွမ်းဆောင်ရည်ကျော်ဖြတ်နိုင်သောအနာဂတ် counterparts တွေကိုအတွက်ကြောင့်ပေါ်လာဖို့မဖြစ်နိုင်ဖြစ်တယ်, ဒါဒီနယ်ပယ်မဆိုပရိုဂရမ်မာများအတွက်အတော်လေးအလားအလာနယ်ပယ်ဖြစ်ပါတယ်။
Similar articles
Trending Now