MySQL ဒေတာဘေ့စ်တစ်ခုသည် ဇယားတစ်ခုရှိ အချက်အလက်များကို မည်သို့မေးမြန်းသနည်း။Query Statement/Command/Syntax

MySQL ဒေတာဘေ့စ်ဇယားထဲက အချက်အလက်တွေကို ဘယ်လို စုံစမ်းမလဲ။Query Statement/Command/Syntax

က MySQL မေးမြန်းမှုဒေတာ

MySQL ဒေတာဘေ့စ်များသည် ဒေတာကို မေးမြန်းရန် SQL SELECT ထုတ်ပြန်ချက်များကို အသုံးပြုသည်။

mysql> command prompt ဝင်းဒိုးမှတဆင့် သို့မဟုတ် PHP script မှတဆင့် ဒေတာဘေ့စ်အတွင်း ဒေတာကို သင်မေးမြန်းနိုင်ပါသည်။

သဒ္ဒါ

အောက်ပါတို့သည် MySQL ဒေတာဘေ့စ်တွင် ဒေတာကို မေးမြန်းခြင်းအတွက် ယေဘုယျ SELECT syntax ဖြစ်သည်။

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]
  • query statement တွင်၊ သင်သည် ဇယားတစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော ဇယားများကို အသုံးပြုနိုင်ပြီး၊ ဇယားများကို ကော်မာ (,) ဖြင့် ပိုင်းခြားနိုင်ပြီး query အခြေအနေများကို သတ်မှတ်ရန် WHERE ထုတ်ပြန်ချက်ကို အသုံးပြုနိုင်သည်။
  • SELECT အမိန့်သည် တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော မှတ်တမ်းများကို ဖတ်နိုင်သည်။
  • အခြားအကွက်များကိုအစားထိုးရန် သင်သည် ခရေပွင့် (*) ကိုသုံးနိုင်သည်၊ SELECT ထုတ်ပြန်ချက်သည် ဇယား၏အကွက်ဒေတာအားလုံးကို ပြန်ပေးလိမ့်မည်
  • အခြေအနေတိုင်းကို ထည့်သွင်းရန် WHERE ထုတ်ပြန်ချက်ကို သင်သုံးနိုင်သည်။
  • SELECT ထုတ်ပြန်ချက်သည် မေးခွန်းကို OFFSET ဖြင့် စတင်သည့် ဒေတာအော့ဖ်ဆက်ကို သင် သတ်မှတ်နိုင်သည်။ပုံမှန်အားဖြင့် offset သည် 0 ဖြစ်သည်။
  • ပြန်ပေးသည့် မှတ်တမ်းအရေအတွက်ကို သတ်မှတ်ရန် LIMIT ပိုင်ဆိုင်မှုကို သင်အသုံးပြုနိုင်သည်။

command prompt မှတဆင့် data ကိုရယူပါ။

အောက်ပါဥပမာတွင်၊ MySQL ဒေတာဇယား chenweiliang_tbl ၏ဒေတာကိုရယူရန် SQL SELECT command ကိုအသုံးပြုပါမည်။

ဥပမာ

အောက်ပါဥပမာသည် ဒေတာဇယား chenweiliang_tbl ၏ မှတ်တမ်းအားလုံးကို ပြန်ပေးလိမ့်မည်-

ဒေတာစာရွက်ကိုဖတ်ပါ

select * from chenweiliang_tbl;

ဒေတာရယူရန် PHP script ကိုသုံးပါ။

PHP လုပ်ဆောင်ချက်များကို အသုံးပြု mysqli_query() နှင့် SQL SELECT data ကိုရယူရန် command ကို။

ဤလုပ်ဆောင်ချက်ကို SQL command များလုပ်ဆောင်ပြီးနောက် PHP လုပ်ဆောင်ချက်များကိုဖြတ်သန်းရန်အသုံးပြုသည်။ mysqli_fetch_array() မေးမြန်းမှုအားလုံးအတွက် ဒေတာကို အသုံးပြုရန် သို့မဟုတ် ထုတ်ပေးရန်။

mysqli_fetch_array() လုပ်ဆောင်ချက်သည် တွဲဖက်အာရေးတစ်ခု သို့မဟုတ် ဂဏန်းများ၏ အခင်းအကျင်းအဖြစ် သတ်မှတ်ထားသည့် ရလဒ်မှ အတန်းတစ်တန်းကို ထုတ်ယူသည်။ သို့မဟုတ် နှစ်ခုစလုံးကို ထုတ်ယူသည်။ ရလဒ်သတ်မှတ်မှုမှ ရယူထားသည့် အတန်းများမှ ထုတ်ပေးသည့် ခင်းကျင်းတစ်ခုကို ပြန်ပေးသည်၊ သို့မဟုတ် အတန်းများမရှိတော့ပါက မှားသည်။

အောက်ပါဥပမာသည် ဒေတာဇယား chenweiliang_tbl မှ မှတ်တမ်းအားလုံးကို ဖတ်သည်။

ဥပမာ

chenweiliang_tbl ဒေတာဇယား၏ မှတ်တမ်းအားလုံးကို ပြသရန် အောက်ပါဥပမာကို စမ်းကြည့်ပါ။

ဒေတာရယူရန် mysqli_fetch_array MYSQL_ASSOC ဘောင်ကို အသုံးပြုပါ-

<?
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");
 
$sql = 'SELECT chenweiliang_id, chenweiliang_title, 
 chenweiliang_author, submission_date
 FROM chenweiliang_tbl';
 
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
 die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 mysqli_fetch_array 测试<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_close($conn);
?>

 

အထက်ဖော်ပြပါ ဥပမာတွင်၊ ဖတ်ပြီးသော မှတ်တမ်းအတန်းတစ်ခုစီကို variable $row တွင် သတ်မှတ်ပေးပြီးနောက် တန်ဖိုးတစ်ခုစီကို ရိုက်နှိပ်ထားသည်။

မှတ်စုstring တစ်ခုတွင် variable ကိုအသုံးပြုရန်လိုအပ်ပါက၊ variable ကို curly braces တွင်ထည့်ပါ။

အထက်ဖော်ပြပါ ဥပမာတွင်၊ PHP mysqli_fetch_array() လုပ်ဆောင်ချက်၏ ဒုတိယ ဘောင်သည် ဖြစ်၏။ MYSQL_ASSOCassociative array ကိုပြန်ပို့ရန် ရလဒ်ကို စုံစမ်းရန် ဤ parameter ကို သတ်မှတ်ပါ၊ သင်သည် အကွက်အမည်ကို array ၏ အညွှန်းအဖြစ် သုံးနိုင်သည်။

PHP သည် အခြားသောလုပ်ဆောင်ချက်ကို ပံ့ပိုးပေးပါသည်။ mysqli_fetch_assoc()လုပ်ဆောင်ချက်သည် associative array အဖြစ်သတ်မှတ်ထားသောရလဒ်မှအတန်းတစ်ခုယူသည်။ရလဒ်သတ်မှတ်မှုမှ ထုတ်ယူထားသော အတန်းများမှ ထုတ်ပေးသော ဆက်စပ် ခင်းကျင်းတစ်ခုကို ပြန်ပေးသည်၊ သို့မဟုတ် အတန်းများမရှိတော့ပါက မှားသည်။

ဥပမာ

အသုံးပြုသော အောက်ပါ ဥပမာကို စမ်းကြည့်ပါ။ mysqli_fetch_assoc() chenweiliang_tbl ဒေတာဇယား၏ မှတ်တမ်းအားလုံးကို ထုတ်ရန် လုပ်ဆောင်ချက်

ဒေတာရယူရန် mysqli_fetch_assoc ကိုသုံးပါ

<?
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");
 
$sql = 'SELECT chenweiliang_id, chenweiliang_title, 
 chenweiliang_author, submission_date
 FROM chenweiliang_tbl';
 
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
 die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 mysqli_fetch_assoc 测试<h2>';
echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';
while($row = mysqli_fetch_assoc($retval))
{
 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_close($conn);
?>

နံပါတ်များကို array ပြန်ပေးသည့် PHP mysqli_fetch_array() လုပ်ဆောင်ချက်၏ ကိန်းသေ MYSQL_NUM ကိုလည်း အသုံးပြုနိုင်သည်။

ဥပမာ

အောက်ပါဥပမာများကိုအသုံးပြုသည်။ MYSQL_NUM ကန့်သတ်ချက်သည် ဒေတာဇယား chenweiliang_tbl ၏ မှတ်တမ်းအားလုံးကို ပြသသည်-

ဒေတာရယူရန် mysqli_fetch_array MYSQL_NUM ဘောင်ကို အသုံးပြုပါ-

<?
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");
 
$sql = 'SELECT chenweiliang_id, chenweiliang_title, 
 chenweiliang_author, submission_date
 FROM chenweiliang_tbl';
 
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
 die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 mysqli_fetch_array 测试<h2>';
echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';
while($row = mysqli_fetch_array($retval, MYSQL_NUM))
{
 echo "<tr><td> {$row[0]}</td> ".
 "<td>{$row[1]} </td> ".
 "<td>{$row[2]} </td> ".
 "<td>{$row[3]} </td> ".
 "</tr>";
}
echo '</table>';
mysqli_close($conn);
?>

အထက်ဖော်ပြပါ နမူနာသုံးခု၏ ရလဒ်များသည် အတူတူပင်ဖြစ်ပါသည်။


မှတ်ဉာဏ်ထုတ်ခြင်း။

ကျွန်ုပ်တို့သည် SELECT ကြေညာချက်ကို လုပ်ဆောင်ပြီးနောက် ကာဆာမှတ်ဉာဏ်ကို လွတ်ကင်းစေရန် အလေ့အကျင့်ကောင်းတစ်ခုဖြစ်သည်။

မမ်မိုရီကို PHP လုပ်ဆောင်ချက် mysqli_free_result() မှတဆင့် ထုတ်လွှတ်နိုင်သည်။

အောက်ဖော်ပြပါ ဥပမာသည် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုမှုကို သရုပ်ပြသည်။

ဥပမာ

အောက်ပါ ဥပမာများကို စမ်းကြည့်ပါ။

mysqli_free_result ဖြင့် အခမဲ့မှတ်ဉာဏ်

<?
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");
 
$sql = 'SELECT chenweiliang_id, chenweiliang_title, 
 chenweiliang_author, submission_date
 FROM chenweiliang_tbl';
 
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
 die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 mysqli_fetch_array 测试<h2>';
echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';
while($row = mysqli_fetch_array($retval, MYSQL_NUM))
{
 echo "<tr><td> {$row[0]}</td> ".
 "<td>{$row[1]} </td> ".
 "<td>{$row[2]} </td> ".
 "<td>{$row[3]} </td> ".
 "</tr>";
}
echo '</table>';
// 释放内存
mysqli_free_result($retval);
mysqli_close($conn);
?>
 

မျှော်လင့်ခြင်း Chen Weiliang ဘလော့ဂ် ( https://www.chenweiliang.com/ ) မျှဝေထားသည် "MySQL ဒေတာဘေ့စ်သည် ဇယားအတွင်းရှိ အချက်အလက်များကို မည်သို့မေးမြန်းသနည်း။သင့်အား ကူညီရန် Query Statement/Command/Syntax"။

ဤဆောင်းပါး၏ link ကိုမျှဝေရန်ကြိုဆိုပါတယ်:https://www.chenweiliang.com/cwl-461.html

နောက်ထပ်လျှို့ဝှက်လှည့်ကွက်များကိုသော့ဖွင့်ရန်🔑၊ ကျွန်ုပ်တို့၏ Telegram ချန်နယ်တွင် ပါဝင်ရန် ကြိုဆိုလိုက်ပါ။

ကြိုက်ရင် Share ပြီး Like လုပ်ပါ။ သင်၏ မျှဝေမှုများနှင့် ကြိုက်နှစ်သက်မှုများသည် ကျွန်ုပ်တို့၏ ဆက်လက်လှုံ့ဆော်မှုဖြစ်သည်။

 

မှတ်ချက်များ

သင့်အီးမေးလ်လိပ်စာကို ထုတ်ပြန်မည်မဟုတ်ပါ။ 用项已用用 * တံဆိပ်

ထိပ်တန်းမှလှိမ့်