څنګه د MySQL وکاروئ چیرته بیان؟ چیرې چې د څو شرطي ترکیب بندول

د MySQL ډیټابیسد کوم ځای بیان څنګه کارول کیږي؟ چیرې چې د څو شرطي ترکیب بندول

مای WHERE فقره

موږ پوهیږو چې د MySQL جدول څخه د معلوماتو لوستلو لپاره د SQL SELECT بیان وکاروو.

په مشروط ډول د میز څخه ډاټا غوره کولو لپاره، د انتخاب بیان ته د WHERE بند اضافه کړئ.

ګرامر

د WHERE بند په کارولو سره د ډیټا جدول څخه ډیټا لوستلو لپاره لاندې د SQL SELECT بیان عمومي ترکیب دی:

SELECT field1, field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
  • تاسو کولی شئ د پوښتنو بیان کې یو یا څو جدولونه وکاروئ، د میزونو تر منځ د کوما په کارولو سره, تقسیم کړئ، او د پوښتنې شرایط تنظیم کولو لپاره د WHERE بیان وکاروئ.
  • تاسو کولی شئ د WHERE په بند کې هر ډول شرایط مشخص کړئ.
  • تاسو کولی شئ د AND یا OR په کارولو سره یو یا څو شرایط مشخص کړئ.
  • د WHERE بند د SQL د DELETE یا UPDATE کمانډونو سره هم کارول کیدی شي.
  • د WHERE بند د طرزالعمل په ژبو کې د if حالت سره ورته دی، او د MySQL جدول کې د ساحې ارزښت سره سم مشخص شوي ډاټا لوستل کوي.

لاندې د آپریټرانو لیست دی چې د WHERE بند کې کارول کیدی شي.

په لاندې جدول کې مثالونه داسې انګیرل کیږي چې A 10 دی او B 20 دی

چلوونکی描述مثال
=د مساوي نښه، چک کوي چې آیا دوه ارزښتونه مساوي دي، او ریښتیا بیرته راستنیږي که دوی مساوي وي(A = B) باطل بیرته راګرځي.
<>، !=مساوي ندي، وګورئ چې دوه ارزښتونه مساوي دي، ریښتیا بیرته راشئ که دوی مساوي نه وي(A!= B) ریښتیا راګرځي.
>د نښان څخه لوی، وګورئ چې آیا د کیڼ اړخ ارزښت د ښي خوا له ارزښت څخه لوی دی، که د کیڼ اړخ ارزښت د ښي اړخ ارزښت څخه لوی وي، ریښتیا بیرته راستانه کړئ(A > B) غلط راګرځي.
<د نښان څخه لږ، وګورئ چې آیا د کیڼ اړخ ارزښت د ښي خوا له ارزښت څخه کم دی، که د کیڼ اړخ ارزښت د ښي اړخ ارزښت څخه کم وي، ریښتیا بیرته راستانه کړئ(A < B) ریښتیا بیرته راګرځي.
>=څخه لوی یا مساوي نښه، وګورئ چې آیا د کیڼ اړخ ارزښت د ښي اړخ ارزښت څخه لوی یا مساوي دی، که د کیڼ اړخ ارزښت د ښي اړخ ارزښت څخه لوی یا مساوي وي، ریښتیا بیرته راستانه کړئ(A >= B) غلط راګرځي.
<=د کم یا مساوي نښه، وګورئ چې آیا د کیڼ اړخ ارزښت د ښي خوا له ارزښت څخه کم یا مساوي دی، که د کیڼ اړخ ارزښت د ښي اړخ ارزښت څخه کم یا مساوي وي، ریښتیا بیرته راستانه کړئ(A <= B) ریښتیا بیرته راګرځي.

د WHERE بند خورا ګټور دی که موږ غواړو د MySQL ډیټا جدول څخه ټاکل شوي ډاټا ولولو.

د WHERE بند کې د مشروط پوښتنې په توګه د لومړني کیلي کارول خورا ګړندي دي.

که چیرې ورکړل شوي معیارونه په جدول کې کوم ورته ریکارډونه ونه لري، پوښتنه هیڅ معلومات نه راوړي.


د کمانډ پرامپټ څخه ډاټا ولولئ

موږ به د مای ایس کیو ایل ډیټا جدول chenweiliang_tbl کې د معلوماتو لوستلو لپاره د SQL SELECT بیان کې WHERE بند وکاروو:

مثال

لاندې مثال به د chenweiliang_tbl جدول کې ټول ریکارډونه ولولي چیرې چې د chenweiliang_author ساحې ارزښت سنجی دی:

د SQL انتخاب چیرته بنده

غوره کول * له chenweiliang_tbl کله چې chenweiliang_author='چن ویلینګBlog';

د مای ایس کیو ایل د WHERE بند کې د سټینګ پرتله کول د قضیې غیر حساس دي.تاسو کولی شئ د BINARY کلیدي کلمه وکاروئ ترڅو مشخص کړئ چې د سټینګ پرتله کول په WHERE بند کې د قضیې حساس دي.

لاندې بېلګه:

د 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)

په مثال کې کارول کیږي بائنری کلیدي کلمه، د قضیې حساس دی، نو chenweiliang_author='chenweiliang.com' د پوښتنې حالت هیڅ معلومات نلري.


د پی ایچ پی سکریپټ په کارولو سره ډاټا ولولئ

تاسو کولی شئ د معلوماتو ترلاسه کولو لپاره د PHP فنکشن mysqli_query() او ورته SQL SELECT کمانډ د WHERE بند سره وکاروئ.

دا فنکشن د SQL کمانډونو اجرا کولو لپاره کارول کیږي او بیا د PHP فنکشن mysqli_fetch_array () له لارې ټول پوښتل شوي معلومات تولیدوي.

مثال

لاندې مثال به د chenweiliang_tbl جدول څخه د chenweiliang_author ساحې ارزښت په کارولو سره بیرته راستانه شي chenweiliang.com ریکارډ:

MySQL چیرته د بند ازموینه:

<?
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);
?>

امید چن وییلینګ بلاګ ( https://www.chenweiliang.com/ ) شریک کړل "د مای ایس کیو ایل بیان څنګه وکاروئ چیرې؟ چیرې چې د څو شرطونو ترکیب بند کړئ"، ستاسو سره د مرستې لپاره.

د دې مقالې لینک شریکولو ته ښه راغلاست:https://www.chenweiliang.com/cwl-462.html

د نورو پټو چلونو د خلاصولو لپاره، زموږ د ټیلیګرام چینل سره یوځای کیدو ته ښه راغلاست!

که مو خوښه شوه لایک او شریک کړئ! ستاسو شریکول او خوښول زموږ دوامداره هڅونه ده!

 

评论 评论

ستاسو بریښنالیک پته به خپره نشي. اړین ساحې کارول کیږي * لیبل

پاس شئ