ဆောင်းပါးလမ်းညွှန်
MySQL ဒေတာဘေ့စ်Where Statement ကို ဘယ်လိုသုံးမလဲ။ clause multiple conditions syntax နေရာတွင်
က MySQL ဘယ်မှာလဲ။
MySQL ဇယားမှဒေတာကိုဖတ်ရန် SQL SELECT ကြေညာချက်ကိုအသုံးပြုရန်ကျွန်ုပ်တို့သိသည်။
ဇယားတစ်ခုမှ အချက်အလက်ကို သတ်မှတ်ရွေးချယ်ရန် WHERE အပိုဒ်ကို SELECT ထုတ်ပြန်ချက်တွင် ထည့်ပါ။
သဒ္ဒါ
WHERE အပိုဒ်ကို အသုံးပြု၍ ဒေတာဇယားတစ်ခုမှဒေတာကိုဖတ်ရန် SQL SELECT ထုတ်ပြန်ချက်၏ ယေဘူယျအထားအသိုဖြစ်ပါသည်။
SELECT field1, field2,...fieldN FROM table_name1, table_name2... [WHERE condition1 [AND [OR]] condition2.....
- ဇယားများကြားတွင် ကော်မာကို အသုံးပြု၍ query statement တွင် တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော ဇယားများကို အသုံးပြုနိုင်သည်။, ခွဲခြမ်းပြီး မေးမြန်းမှုအခြေအနေများကို သတ်မှတ်ရန် WHERE ထုတ်ပြန်ချက်ကို အသုံးပြုပါ။
- WHERE clause တွင် မည်သည့်အခြေအနေများကိုမဆို သင်သတ်မှတ်နိုင်ပါသည်။
- AND သို့မဟုတ် OR ကို အသုံးပြု၍ တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော အခြေအနေများကို သတ်မှတ်နိုင်သည်။
- WHERE clause ကို SQL ၏ DELETE သို့မဟုတ် UPDATE အမိန့်များဖြင့်လည်း သုံးနိုင်သည်။
- WHERE အပိုဒ်သည် လုပ်ထုံးလုပ်နည်းဘာသာစကားများတွင် if condition နှင့်ဆင်တူပြီး MySQL ဇယားရှိ အကွက်တန်ဖိုးအရ သတ်မှတ်ထားသောဒေတာကို ဖတ်သည်။
အောက်ဖော်ပြပါသည် WHERE clause တွင် အသုံးပြုနိုင်သော အော်ပရေတာများစာရင်းဖြစ်သည်။
အောက်ပါဇယားရှိ ဥပမာများသည် A သည် 10 နှင့် B သည် 20 ဟု ယူဆသည်။
| အော်ပရေတာ | ဖော်ပြချက် | ဥပမာ |
|---|---|---|
| = | ညီမျှခြင်း သင်္ကေတ၊ တန်ဖိုးနှစ်ခု ညီမျှခြင်းရှိ၊ မရှိ စစ်ဆေးပြီး ညီမျှပါက အမှန်ပြန်ပို့သည်။ | (A=B) မှားပြန်သည် ။ |
| <>၊ != | မညီမျှပါ၊ တန်ဖိုးနှစ်ခု တူညီမှုရှိမရှိ စစ်ဆေးပါ၊ မညီမျှပါက အမှန်ပြန်ပေးပါ။ | (A != B) သည် အမှန်ဖြစ်သည်။ |
| > | သင်္ကေတထက်ကြီးသည်၊ ဘယ်ဘက်ရှိတန်ဖိုးသည် ညာဘက်ရှိတန်ဖိုးထက် ကြီးသည်ရှိမရှိ စစ်ဆေးပါ၊ ဘယ်ဘက်ရှိတန်ဖိုးသည် ညာဘက်ရှိတန်ဖိုးထက် ကြီးပါက အမှန်ပြန်ပေးပါ။ | (A > B) အမှားကို ပြန်ပေးသည်။ |
| < | နိမိတ်ထက်နည်းသည်၊ ဘယ်ဘက်ရှိတန်ဖိုးသည် ညာဘက်ရှိတန်ဖိုးထက်နည်းသည်ရှိမရှိစစ်ဆေးပါ၊ ဘယ်ဘက်ရှိတန်ဖိုးသည် ညာဘက်ရှိတန်ဖိုးထက်နည်းပါက၊ အမှန်ပြန်ပေးပါ။ | (A < B) သည် အမှန်ဖြစ်သည်။ |
| >= | သင်္ကေတထက်ကြီးသည် သို့မဟုတ် တူညီသည် ၊ ဘယ်ဘက်ရှိတန်ဖိုးသည် ညာဘက်ရှိတန်ဖိုးထက် ကြီးသည် သို့မဟုတ် ညီမျှခြင်းရှိမရှိစစ်ဆေးပါ၊ ဘယ်ဘက်ရှိတန်ဖိုးသည် ညာဘက်ရှိတန်ဖိုးထက် ကြီးသည် သို့မဟုတ် ညီမျှပါက ညာဘက်သို့ပြန်ပါ။ | (A >= B) false ပြန်ပေးသည်။ |
| <= | ထက်နည်းသော သို့မဟုတ် တူညီသော သင်္ကေတ၊ ဘယ်ဘက်ရှိတန်ဖိုးသည် ညာဘက်ရှိတန်ဖိုးထက်နည်းသည် သို့မဟုတ် ညီမျှခြင်းရှိမရှိ စစ်ဆေးပါ၊ ဘယ်ဘက်ရှိတန်ဖိုးသည် လျော့နည်းသည် သို့မဟုတ် ညာဘက်ရှိတန်ဖိုးနှင့် ညီမျှပါက ညာဘက်သို့ပြန်ပါ။ | (A <= B) သည် အမှန်ဖြစ်သည်။ |
MySQL data table မှ သတ်မှတ်ထားသော data ကိုဖတ်လိုပါက WHERE clause သည် အလွန်အသုံးဝင်ပါသည်။
WHERE အပိုဒ်ရှိ ပင်မကီးကို အခြေအနေအရ မေးမြန်းမှုအဖြစ် အသုံးပြုခြင်းသည် အလွန်မြန်ဆန်သည်။
ပေးထားသော စံနှုန်းများတွင် ဇယားတွင် ကိုက်ညီသော မှတ်တမ်းများ မရှိပါက၊ မေးမြန်းချက်သည် ဒေတာကို ပြန်မပေးပါ။
command prompt မှဒေတာကိုဖတ်ပါ။
MySQL ဒေတာဇယား chenweiliang_tbl ရှိ ဒေတာကို ဖတ်ရန် SQL SELECT ထုတ်ပြန်ချက်တွင် WHERE အပိုဒ်ကို အသုံးပြုပါမည်။
ဥပမာ
အောက်ပါဥပမာသည် chenweiliang_author အကွက်၏တန်ဖိုးမှာ Sanjay ဖြစ်သည့် chenweiliang_tbl ဇယားရှိ မှတ်တမ်းများအားလုံးကို ဖတ်ပါမည်။
SQL SELECT WHERE သဘောပေါ့။
MySQL ၏ WHERE အပိုဒ်ရှိ စာကြောင်း နှိုင်းယှဥ်မှုသည် case-insensitive ဖြစ်သည်။WHERE clause တွင် စာလုံးအကြီးအသေးသာရှိသော အဆိုပါစာကြောင်း နှိုင်းယှဉ်ချက်များကို သတ်မှတ်ရန် BINARY သော့ချက်စကားလုံးကို သင်အသုံးပြုနိုင်ပါသည်။
အောက်ပါ ဥပမာ-
BINARY အဓိကစကားလုံး
mysql> SELECT * from chenweiliang_tbl WHERE BINARY chenweiliang_author='chenweiliang.com'; Empty set (0.01 sec) mysql> SELECT * from chenweiliang_tbl WHERE BINARY chenweiliang_author='chenweiliang.com'; +-----------+---------------+---------------+-----------------+ | chenweiliang_id | chenweiliang_title | chenweiliang_author | submission_date | +-----------+---------------+---------------+-----------------+ | 3 | JAVA 教程 | chenweiliang.com | 2016-05-06 | | 4 | 学习 Python | chenweiliang.com | 2016-03-06 | +-----------+---------------+---------------+-----------------+ 2 rows in set (0.01 sec)
ဥပမာတွင်သုံးသည်။ BINARY သော့ချက်စာလုံးသည် စာလုံးအကြီးအသေးကြောင့်ဖြစ်သည်။ chenweiliang_author='chenweiliang.com' မေးမြန်းမှုအခြေအနေသည် ဒေတာမရှိပါ။
PHP script ကိုအသုံးပြု၍ ဒေတာကိုဖတ်ပါ။
ဒေတာရယူရန်အတွက် PHP လုပ်ဆောင်ချက် mysqli_query() နှင့် တူညီသော SQL SELECT command ကို ဒေတာရယူရန် WHERE clause ဖြင့် အသုံးပြုနိုင်သည်။
ဤလုပ်ဆောင်ချက်ကို SQL ကွန်မန်းများကို လုပ်ဆောင်ပြီးနောက် PHP လုပ်ဆောင်ချက် mysqli_fetch_array() မှတဆင့် မေးမြန်းထားသော အချက်အလက်အားလုံးကို ထုတ်ပေးရန်အတွက် အသုံးပြုပါသည်။
ဥပမာ
အောက်ပါဥပမာသည် chenweiliang_author အကွက်တန်ဖိုးကို အသုံးပြု၍ chenweiliang_tbl ဇယားမှပြန်လာပါမည်။ chenweiliang.com မှတ်တမ်း-
MySQL WHERE အပိုဒ်စမ်းသပ်မှု-
<?
php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
// 读取 chenweiliang_author 为 chenweiliang.com 的数据
$sql = 'SELECT chenweiliang_id, chenweiliang_title,
chenweiliang_author, submission_date
FROM chenweiliang_tbl
WHERE chenweiliang_author="chenweiliang.com"';
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 MySQL WHERE 子句测试<h2>';
echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';
while($row = mysqli_fetch_array($retval, MYSQL_ASSOC))
{
echo "<tr><td> {$row['chenweiliang_id']}</td> ".
"<td>{$row['chenweiliang_title']} </td> ".
"<td>{$row['chenweiliang_author']} </td> ".
"<td>{$row['submission_date']} </td> ".
"</tr>";
}
echo '</table>';
// 释放内存
mysqli_free_result($retval);
mysqli_close($conn);
?>မျှော်လင့်ခြင်း Chen Weiliang ဘလော့ဂ် ( https://www.chenweiliang.com/ ) shared "MySQL where statement ကို ဘယ်လိုသုံးမလဲ။ Clause Multiple Condition Syntax သည် သင့်အား ကူညီရန် အဘယ်မှာနည်း။
ဤဆောင်းပါး၏ link ကိုမျှဝေရန်ကြိုဆိုပါတယ်:https://www.chenweiliang.com/cwl-462.html
နောက်ထပ်လျှို့ဝှက်လှည့်ကွက်များကိုသော့ဖွင့်ရန်🔑၊ ကျွန်ုပ်တို့၏ Telegram ချန်နယ်တွင် ပါဝင်ရန် ကြိုဆိုလိုက်ပါ။
ကြိုက်ရင် Share ပြီး Like လုပ်ပါ။ သင်၏ မျှဝေမှုများနှင့် ကြိုက်နှစ်သက်မှုများသည် ကျွန်ုပ်တို့၏ ဆက်လက်လှုံ့ဆော်မှုဖြစ်သည်။