ဆောင်းပါးလမ်းညွှန်
MySQL ဒေတာဘေ့စ်ပုံမှန်အသုံးအနှုန်းက ဘယ်လိုကိုက်ညီလဲ။က MySQL အသုံးပြုမှုကဲ့သို့ regexp
MySQL ပုံမှန်အသုံးအနှုန်းများ
ယခင်အခန်းများတွင် MySQL ဖြစ်နိုင်ကြောင်း သင်ယူခဲ့သည်။ ကြိုက်သည်...% fuzzy matching အတွက်။
MySQL သည် အခြားသော ပုံမှန်အသုံးအနှုန်းများနှင့် ကိုက်ညီမှုကိုလည်း ပံ့ပိုးပေးပါသည်။ REGEXP အော်ပရေတာအား ပုံမှန်ဖော်ပြချက် ကိုက်ညီမှုအတွက် MySQL တွင် အသုံးပြုပါသည်။
PHP သို့မဟုတ် Perl ကိုသင်သိပါက MySQL ၏ပုံမှန်အသုံးအနှုန်းကိုက်ညီမှုသည်ဤ scripts များနှင့်ဆင်တူသောကြောင့်၎င်းသည်အလွန်ရိုးရှင်းပါသည်။
အောက်ပါဇယားရှိ ပုံမှန်ပုံစံများကို REGEXP အော်ပရေတာသို့ အသုံးချနိုင်သည်။
mode ကို | ဖော်ပြချက် |
---|---|
^ | ထည့်သွင်းသည့်စာကြောင်း၏အစနှင့် ကိုက်ညီသည်။^ သည် RegExp အရာဝတ္ထု၏ Multiline ပိုင်ဆိုင်မှုကို သတ်မှတ်ပါက '\n' သို့မဟုတ် '\r' ပြီးနောက် အနေအထားနှင့်လည်း ကိုက်ညီပါသည်။ |
$ | input string ၏အဆုံးနှင့် ကိုက်ညီပါသည်။RegExp အရာဝတ္ထု၏ Multiline ပိုင်ဆိုင်မှုကို သတ်မှတ်ပါက၊ $ သည် '\n' သို့မဟုတ် '\r' မတိုင်မီ အနေအထားနှင့်လည်း ကိုက်ညီပါသည်။ |
. | "\n" မှလွဲ၍ မည်သည့်ဇာတ်ကောင်မဆို ကိုက်ညီပါသည်။'\n' အပါအဝင် မည်သည့်ဇာတ်ကောင်ကိုမဆို ကိုက်ညီရန် '[.\n]' ကဲ့သို့သော ပုံစံကို အသုံးပြုပါ။ |
[ ... ] | ဇာတ်ကောင်များစုစည်းမှု။ပါရှိသော ဇာတ်ကောင်များထဲမှ တစ်ခုနှင့်တစ်ခု ကိုက်ညီပါသည်။ဥပမာအားဖြင့် '[abc]' သည် "plain တွင် 'a'။ |
[^…] | အနှုတ်လက္ခဏာ အစုံ။မပါရှိသော မည်သည့်ဇာတ်ကောင်ကိုမဆို လိုက်ဖက်သည်။ဥပမာအားဖြင့်၊ '[^abc]' သည် "plain" တွင် 'p' နှင့် ကိုက်ညီလိမ့်မည်။ |
p1|p2|p3 | p1 သို့မဟုတ် p2 သို့မဟုတ် p3 နှင့် ကိုက်ညီသည်။ဥပမာအားဖြင့်၊ 'z|food' သည် "z" သို့မဟုတ် "food" တစ်ခုခုနှင့် ကိုက်ညီလိမ့်မည်။ '(z|f)ood' သည် "zood" သို့မဟုတ် "food" နှင့် ကိုက်ညီသည်။ |
* | ရှေ့ဖော်ပြချက်ခွဲကို သုည သို့မဟုတ် ထို့ထက်ပိုသောအကြိမ်များ ကိုက်ညီသည်။ဥပမာအားဖြင့်၊ zo* သည် "z" နှင့် "zoo" တို့နှင့် တူညီသည်။ * သည် {0,} နှင့် ညီမျှသည်။ |
+ | ရှေ့ဖော်ပြချက်ခွဲကို တစ်ကြိမ် သို့မဟုတ် ထို့ထက်ပိုသော ကြိမ်နှင့် ကိုက်ညီသည်။ဥပမာအားဖြင့် 'zo+' သည် "zo" နှင့် "zoo" နှင့် ကိုက်ညီသော်လည်း "z" မဟုတ်ပါ။ + သည် {1,} နှင့် ညီမျှသည်။ |
{n} | n သည် အနုတ်လက္ခဏာမဟုတ်သော ကိန်းပြည့်ဖြစ်သည်။အတိအကျ n အကြိမ်။ဥပမာအားဖြင့်၊ 'o{2}' သည် "Bob" ရှိ 'o' နှင့် တူညီမည်မဟုတ်သော်လည်း "အစားအသောက်" တွင် o နှစ်ခုလုံး တူညီမည်ဖြစ်သည်။ |
{n၊m} | m နှင့် n နှစ်ခုစလုံးသည် အနုတ်လက္ခဏာမဟုတ်သော ကိန်းပြည့်များဖြစ်ပြီး n <= m ဖြစ်သည်။အနည်းဆုံး n ကြိမ်နှင့် အများဆုံး m အကြိမ်။ |
ဥပမာ
အထက်ဖော်ပြပါ ပုံမှန်လိုအပ်ချက်များကို နားလည်ပြီးနောက်၊ ကျွန်ုပ်တို့၏ကိုယ်ပိုင်လိုအပ်ချက်များနှင့်အညီ ပုံမှန်အသုံးအနှုန်းများဖြင့် SQL Statement များကို ရေးသားနိုင်ပါသည်။အောက်တွင် ကျွန်ုပ်တို့၏နားလည်မှုကို ပိုမိုနက်ရှိုင်းစေရန်အတွက် နမူနာအနည်းငယ် (ဇယားအမည်- person_tbl) ကို ဖော်ပြပါမည်။
အမည်အကွက်တွင် 'st' ဖြင့်စသော ဒေတာအားလုံးကို ရှာပါ-
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
အမည်အကွက်တွင် 'ok' ဖြင့်အဆုံးသတ်သော ဒေတာအားလုံးကို ရှာပါ-
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
အမည်အကွက်တွင် 'mar' စာကြောင်းပါရှိသော အချက်အလက်အားလုံးကို ရှာပါ-
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
သရအက္ခရာဖြင့် အစပြုသော သို့မဟုတ် 'ok' ဟူသော စာကြောင်းဖြင့် အဆုံးသတ်သည့် အမည်အကွက်ရှိ ဒေတာအားလုံးကို ရှာပါ-
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
မျှော်လင့်ခြင်း Chen Weiliang ဘလော့ဂ် ( https://www.chenweiliang.com/ ) မျှဝေထားသည် "MySQL ဒေတာဘေ့စ် ပုံမှန်အသုံးအနှုန်းများနှင့် ကိုက်ညီအောင် ဘယ်လိုလုပ်မလဲ။ အသုံးပြုမှုကဲ့သို့ MySQL regexp" သည်သင့်အားကူညီလိမ့်မည်။
ဤဆောင်းပါး၏ link ကိုမျှဝေရန်ကြိုဆိုပါတယ်:https://www.chenweiliang.com/cwl-492.html
နောက်ဆုံးထွက်မွမ်းမံမှုများကို ရယူရန် Chen Weiliang ၏ တယ်လီဂရမ်ချန်နယ်မှ ကြိုဆိုပါသည်။
📚 ဤလမ်းညွှန်တွင် တန်ဖိုးကြီးကြီးမားမားပါရှိသည်၊ 🌟ဒါက ရှားပါးအခွင့်အရေးပါ၊ လက်လွတ်မခံပါနဲ့။ ⏰⌛💨
ကြိုက်ရင် Share ပြီး Like လုပ်ပါ။
သင်၏မျှဝေခြင်းနှင့် လိုက်ခ်များသည် ကျွန်ုပ်တို့၏ စဉ်ဆက်မပြတ်လှုံ့ဆော်မှုဖြစ်သည်။