MySQL ڪٿي بيان ڪيئن استعمال ڪجي؟ جتي شق گھڻا مشروط نحو

MySQL ۾ WHERE شق ڪيئن استعمال ڪجي ؟ WHERE شق ۾ گھڻن حالتن لاءِ نحو.

هن MySQL جتي شق

اسان ڄاڻون ٿا SQL SELECT بيان استعمال ڪرڻ لاءِ MySQL ٽيبل مان ڊيٽا پڙهڻ لاءِ.

شرطي طور تي ٽيبل مان ڊيٽا چونڊڻ لاءِ، SELECT بيان ۾ WHERE شق شامل ڪريو.

گرامر

ھيٺ ڏنل عام نحو آھي SQL SELECT بيان جو ڊيٽا ٽيبل مان ڊيٽا پڙھڻ لاءِ WHERE شق استعمال ڪندي:

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) سچو موٽائي ٿو.

WHERE شق تمام ڪارائتو آهي جيڪڏهن اسان MySQL ڊيٽا ٽيبل مان مخصوص ڊيٽا پڙهڻ چاهيون ٿا.

WHERE شق ۾ مشروط سوال جي طور تي پرائمري ڪيچ استعمال ڪرڻ تمام تيز آھي.

جيڪڏهن ڏنل معيار کي ٽيبل ۾ ڪو به ملندڙ رڪارڊ نه آهي، سوال ڪو به ڊيٽا نه ڏيندو.


ڪمانڊ پرامٽ مان ڊيٽا پڙهو

اسان MySQL ڊيٽا ٽيبل chenweiliang_tbl ۾ ڊيٽا پڙهڻ لاءِ SQL SELECT بيان ۾ WHERE شق استعمال ڪنداسين:

مثال

ھيٺ ڏنل مثال chenweiliang_tbl ٽيبل ۾ سڀ رڪارڊ پڙھندو جتي chenweiliang_author فيلڊ جي قيمت سنجي آھي:

SQL SELECT WHERE شق

چونڊيو * کان chenweiliang_tbl جڏهن chenweiliang_author='چن ويلانگبلاگ';

MySQL جي WHERE شق ۾ اسٽرنگ جي مقابلي ۾ ڪيس غير حساس آهن.توھان استعمال ڪري سگھو ٿا 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 اسڪرپٽ استعمال ڪندي ڊيٽا پڙهو

توھان استعمال ڪري سگھو ٿا PHP فنڪشن mysqli_query() ۽ ساڳيو SQL SELECT ڪمانڊ ڊيٽا حاصل ڪرڻ لاءِ WHERE شق سان.

هي فنڪشن استعمال ڪيو ويندو آهي SQL حڪمن کي هلائڻ لاءِ ۽ پوءِ PHP فنڪشن mysqli_fetch_array() ذريعي سڀني پڇيل ڊيٽا کي آئوٽ ڪيو.

مثال

هيٺ ڏنل مثال chenweiliang_tbl ٽيبل مان رڪارڊ واپس ڪندو جيڪي chenweiliang_author فيلڊ ۾ 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/ ) تي شيئر ڪيل مضمون "MySQL WHERE شق ڪيئن استعمال ڪجي؟ WHERE شق ۾ گھڻن حالتن جو نحو" توهان لاءِ مددگار ثابت ٿيندو.

هن مضمون جي لنڪ شيئر ڪرڻ لاءِ آزاد محسوس ڪريو: https://www.chenweiliang.com/cwl-462.html

وڌيڪ لڪيل چالون کولڻ لاءِ🔑، اسان جي ٽيليگرام چينل ۾ شامل ٿيڻ لاءِ ڀليڪار!

شئير ڪريو ۽ پسند ڪريو جيڪڏھن توھان کي پسند اچي! توهان جا حصا ۽ پسند اسان جي مسلسل حوصلا آهن!

 

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

جي ويڙھيء وانگي امروٽي